mirror of https://github.com/stascorp/rdpwrap
parent
996ede6c1e
commit
de975423bd
Binary file not shown.
Binary file not shown.
@ -0,0 +1,7 @@
|
|||||||
|
@echo off
|
||||||
|
RDPWInst -i
|
||||||
|
echo ______________________________________________________
|
||||||
|
echo.
|
||||||
|
echo You can check RDP functionality with RDPCheck program.
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
@echo off
|
||||||
|
RDPWInst -u
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
@echo off
|
||||||
|
echo [FILENAMES]> clearres.txt
|
||||||
|
echo Exe=%1>> clearres.txt
|
||||||
|
echo SaveAs=%1>> clearres.txt
|
||||||
|
echo Log=>> clearres.txt
|
||||||
|
echo.>> clearres.txt
|
||||||
|
echo [COMMANDS]>> clearres.txt
|
||||||
|
echo -delete RCDATA,CHARTABLE,>> clearres.txt
|
||||||
|
echo -delete RCDATA,DVCLAL,>> clearres.txt
|
||||||
|
echo -delete RCDATA,PACKAGEINFO,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32761,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32762,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32763,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32764,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32765,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32766,>> clearres.txt
|
||||||
|
echo -delete CURSORGROUP,32767,>> clearres.txt
|
||||||
|
"C:\Program Files\Resource Hacker\ResHacker.exe" -script clearres.txt
|
||||||
|
del clearres.txt
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal EnableDelayedExpansion
|
||||||
|
echo RDP Wrapper Library Installer v1.0
|
||||||
|
echo Copyright (C) Stas'M Corp. 2013
|
||||||
|
echo.
|
||||||
|
|
||||||
|
set PROCESSOR_ARCHITECTURE | find "x86" > nul
|
||||||
|
if !errorlevel!==0 (
|
||||||
|
goto WOW64CHK
|
||||||
|
) else (
|
||||||
|
goto UNSUPPORTED
|
||||||
|
)
|
||||||
|
|
||||||
|
:WOW64CHK
|
||||||
|
echo [*] Check if running WOW64 subsystem...
|
||||||
|
set PROCESSOR_ARCHITEW6432 > nul
|
||||||
|
if !errorlevel!==0 (
|
||||||
|
goto UNSUPPORTED
|
||||||
|
) else (
|
||||||
|
goto SUPPORTED
|
||||||
|
)
|
||||||
|
|
||||||
|
:SUPPORTED
|
||||||
|
echo [+] Processor architecture is Intel x86 [supported]
|
||||||
|
goto INSTALL
|
||||||
|
|
||||||
|
:UNSUPPORTED
|
||||||
|
echo [-] Unsupported processor architecture
|
||||||
|
goto END
|
||||||
|
|
||||||
|
:INSTALL
|
||||||
|
echo [*] Installing...
|
||||||
|
if not exist rdpwrap.dll (
|
||||||
|
echo [-] Error: rdpwrap.dll file not found
|
||||||
|
goto END
|
||||||
|
)
|
||||||
|
echo [*] Copying file to Program Files...
|
||||||
|
md "%ProgramFiles%\RDP Wrapper"
|
||||||
|
xcopy /y rdpwrap.dll "%ProgramFiles%\RDP Wrapper\"
|
||||||
|
if not !errorlevel!==0 (
|
||||||
|
echo [-] Failed to copy rdpwrap.dll to Program Files folder
|
||||||
|
goto END
|
||||||
|
)
|
||||||
|
echo [*] Modifying registry...
|
||||||
|
reg add "HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters" /v ServiceDll /t REG_EXPAND_SZ /d "%ProgramFiles%\RDP Wrapper\rdpwrap.dll" /f
|
||||||
|
if not !errorlevel!==0 (
|
||||||
|
echo [-] Failed to modify registry
|
||||||
|
goto END
|
||||||
|
)
|
||||||
|
echo [*] Setting firewall configuration...
|
||||||
|
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
|
||||||
|
netsh advfirewall firewall add rule name="Remote Desktop" dir=in protocol=tcp localport=3389 profile=any action=allow
|
||||||
|
echo [*] Looking for TermService PID...
|
||||||
|
tasklist /SVC /FI "SERVICES eq TermService" | find "PID" /V
|
||||||
|
echo.
|
||||||
|
if !errorlevel!==0 (
|
||||||
|
goto DONE
|
||||||
|
) else (
|
||||||
|
goto SVCSTART
|
||||||
|
)
|
||||||
|
|
||||||
|
:SVCSTART
|
||||||
|
echo [*] TermService is stopped. Starting it...
|
||||||
|
sc config TermService start= auto | find "1060" > nul
|
||||||
|
if !errorlevel!==0 (
|
||||||
|
echo [-] TermService is not installed. You need to install it manually.
|
||||||
|
goto END
|
||||||
|
) else (
|
||||||
|
net start TermService
|
||||||
|
goto DONE
|
||||||
|
)
|
||||||
|
|
||||||
|
:DONE
|
||||||
|
echo [+] Installation complete!
|
||||||
|
echo Now reboot or restart service.
|
||||||
|
echo.
|
||||||
|
echo To reboot computer type:
|
||||||
|
echo shutdown /r
|
||||||
|
echo.
|
||||||
|
echo To restart TermService type:
|
||||||
|
echo taskkill /f /pid 1234 ^(replace 1234 with real PID which is shown above^)
|
||||||
|
echo net start TermService
|
||||||
|
echo.
|
||||||
|
echo If second method is used, and there are another services sharing svchost.exe,
|
||||||
|
echo you must start it too:
|
||||||
|
echo net start Service1
|
||||||
|
echo net start Service2
|
||||||
|
echo etc.
|
||||||
|
goto END
|
||||||
|
|
||||||
|
:END
|
||||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,105 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{AF9BEAA3-99CD-4B2E-BE67-3F3BD27B961A}</ProjectGuid>
|
||||||
|
<ProjectVersion>12.0</ProjectVersion>
|
||||||
|
<MainSource>RDPWInst.dpr</MainSource>
|
||||||
|
<Config Condition="'$(Config)'==''">Release</Config>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
|
||||||
|
<Cfg_1>true</Cfg_1>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
|
||||||
|
<Cfg_2>true</Cfg_2>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Base)'!=''">
|
||||||
|
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias>
|
||||||
|
<DCC_DependencyCheckOutputName>RDPWInst.exe</DCC_DependencyCheckOutputName>
|
||||||
|
<DCC_ImageBase>00400000</DCC_ImageBase>
|
||||||
|
<DCC_Platform>x86</DCC_Platform>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||||
|
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<DCC_DebugInformation>false</DCC_DebugInformation>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
||||||
|
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="RDPWInst.dpr">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<BuildConfiguration Include="Base">
|
||||||
|
<Key>Base</Key>
|
||||||
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Debug">
|
||||||
|
<Key>Cfg_2</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Release">
|
||||||
|
<Key>Cfg_1</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||||
|
<Borland.ProjectType/>
|
||||||
|
<BorlandProject>
|
||||||
|
<Delphi.Personality>
|
||||||
|
<Parameters>
|
||||||
|
<Parameters Name="UseLauncher">False</Parameters>
|
||||||
|
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||||
|
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||||
|
<Parameters Name="RunParams">-i</Parameters>
|
||||||
|
</Parameters>
|
||||||
|
<VersionInfo>
|
||||||
|
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
|
||||||
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
|
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||||
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Locale">1049</VersionInfo>
|
||||||
|
<VersionInfo Name="CodePage">1251</VersionInfo>
|
||||||
|
</VersionInfo>
|
||||||
|
<VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="CompanyName"/>
|
||||||
|
<VersionInfoKeys Name="FileDescription"/>
|
||||||
|
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="InternalName"/>
|
||||||
|
<VersionInfoKeys Name="LegalCopyright"/>
|
||||||
|
<VersionInfoKeys Name="LegalTrademarks"/>
|
||||||
|
<VersionInfoKeys Name="OriginalFilename"/>
|
||||||
|
<VersionInfoKeys Name="ProductName"/>
|
||||||
|
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="Comments"/>
|
||||||
|
</VersionInfoKeys>
|
||||||
|
<Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k140.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp140.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
</Excluded_Packages>
|
||||||
|
<Source>
|
||||||
|
<Source Name="MainSource">RDPWInst.dpr</Source>
|
||||||
|
</Source>
|
||||||
|
</Delphi.Personality>
|
||||||
|
</BorlandProject>
|
||||||
|
<ProjectFileVersion>12</ProjectFileVersion>
|
||||||
|
</ProjectExtensions>
|
||||||
|
</Project>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<BorlandProject>
|
||||||
|
<Transactions>
|
||||||
|
<Transaction>2013.12.07 17:17:05.152.dproj,C:\Users\user\Documents\RAD Studio\Projects\Project1.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPInstall.dproj</Transaction>
|
||||||
|
<Transaction>2013.12.07 19:48:57.905.dproj,C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPInstall.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPWInst.dproj</Transaction>
|
||||||
|
<Transaction>2013.12.08 01:45:08.501.dproj,C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPWInst.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrap\devel\installer2.0-binarymaster\RDPWInst.dproj</Transaction>
|
||||||
|
</Transactions>
|
||||||
|
</BorlandProject>
|
||||||
Binary file not shown.
@ -0,0 +1,4 @@
|
|||||||
|
rdpclip64 RCData "..\\rdpclip-x64.exe"
|
||||||
|
rdpclip32 RCData "..\\rdpclip-x86.exe"
|
||||||
|
rdpw32 RCData "..\\v1.2-x86-binarymaster\\rdpwrap.dll"
|
||||||
|
rdpw64 RCData "..\\v1.2-x86-x64-Fusix\\rdpw64.dll"
|
||||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,29 @@
|
|||||||
|
object Frm: TFrm
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
BorderIcons = [biSystemMenu, biMinimize]
|
||||||
|
BorderStyle = bsSingle
|
||||||
|
Caption = 'Local RDP Checker'
|
||||||
|
ClientHeight = 480
|
||||||
|
ClientWidth = 640
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = False
|
||||||
|
Position = poDesktopCenter
|
||||||
|
OnCreate = FormCreate
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object RDP: TMsRdpClient2
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 640
|
||||||
|
Height = 480
|
||||||
|
TabOrder = 0
|
||||||
|
OnDisconnected = RDPDisconnected
|
||||||
|
ControlData = {0003000008000200000000000B0000000B000000}
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,145 @@
|
|||||||
|
unit MainUnit;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, OleServer, MSTSCLib_TLB, OleCtrls, Registry;
|
||||||
|
|
||||||
|
type
|
||||||
|
TFrm = class(TForm)
|
||||||
|
RDP: TMsRdpClient2;
|
||||||
|
procedure RDPDisconnected(ASender: TObject; discReason: Integer);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
Frm: TFrm;
|
||||||
|
SecurityLayer, UserAuthentication: DWORD;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
procedure TFrm.FormCreate(Sender: TObject);
|
||||||
|
var
|
||||||
|
Reg: TRegistry;
|
||||||
|
Port: Integer;
|
||||||
|
begin
|
||||||
|
RDP.DisconnectedText := 'Disconnected.';
|
||||||
|
RDP.ConnectingText := 'Connecting...';
|
||||||
|
RDP.ConnectedStatusText := 'Connected.';
|
||||||
|
RDP.UserName := '';
|
||||||
|
RDP.Server := '127.0.0.1';
|
||||||
|
Reg := TRegistry.Create;
|
||||||
|
Reg.RootKey := HKEY_LOCAL_MACHINE;
|
||||||
|
|
||||||
|
if Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', True) then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
SecurityLayer := Reg.ReadInteger('SecurityLayer');
|
||||||
|
UserAuthentication := Reg.ReadInteger('UserAuthentication');
|
||||||
|
Reg.WriteInteger('SecurityLayer', 0);
|
||||||
|
Reg.WriteInteger('UserAuthentication', 0);
|
||||||
|
except
|
||||||
|
|
||||||
|
end;
|
||||||
|
Reg.CloseKey;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp') then begin
|
||||||
|
try
|
||||||
|
RDP.AdvancedSettings2.RDPPort := Reg.ReadInteger('PortNumber');
|
||||||
|
except
|
||||||
|
|
||||||
|
end;
|
||||||
|
Reg.CloseKey;
|
||||||
|
end;
|
||||||
|
Reg.Free;
|
||||||
|
Sleep(1000);
|
||||||
|
RDP.Connect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFrm.RDPDisconnected(ASender: TObject; discReason: Integer);
|
||||||
|
var
|
||||||
|
ErrStr: String;
|
||||||
|
Reg: TRegistry;
|
||||||
|
begin
|
||||||
|
case discReason of
|
||||||
|
1: ErrStr := 'Local disconnection.';
|
||||||
|
2: ErrStr := 'Disconnected by user.';
|
||||||
|
3: ErrStr := 'Disconnected by server.';
|
||||||
|
$904: ErrStr := 'Socket closed.';
|
||||||
|
$C08: ErrStr := 'Decompress error.';
|
||||||
|
$108: ErrStr := 'Connection timed out.';
|
||||||
|
$C06: ErrStr := 'Decryption error.';
|
||||||
|
$104: ErrStr := 'DNS name lookup failure.';
|
||||||
|
$508: ErrStr := 'DNS lookup failed.';
|
||||||
|
$B06: ErrStr := 'Encryption error.';
|
||||||
|
$604: ErrStr := 'Windows Sockets gethostbyname() call failed.';
|
||||||
|
$208: ErrStr := 'Host not found error.';
|
||||||
|
$408: ErrStr := 'Internal error.';
|
||||||
|
$906: ErrStr := 'Internal security error.';
|
||||||
|
$A06: ErrStr := 'Internal security error.';
|
||||||
|
$506: ErrStr := 'The encryption method specified is not valid.';
|
||||||
|
$804: ErrStr := 'Bad IP address specified.';
|
||||||
|
$606: ErrStr := 'Server security data is not valid.';
|
||||||
|
$406: ErrStr := 'Security data is not valid.';
|
||||||
|
$308: ErrStr := 'The IP address specified is not valid.';
|
||||||
|
$808: ErrStr := 'License negotiation failed.';
|
||||||
|
$908: ErrStr := 'Licensing time-out.';
|
||||||
|
$106: ErrStr := 'Out of memory.';
|
||||||
|
$206: ErrStr := 'Out of memory.';
|
||||||
|
$306: ErrStr := 'Out of memory.';
|
||||||
|
$706: ErrStr := 'Failed to unpack server certificate.';
|
||||||
|
$204: ErrStr := 'Socket connection failed.';
|
||||||
|
$404: ErrStr := 'Windows Sockets recv() call failed.';
|
||||||
|
$704: ErrStr := 'Time-out occurred.';
|
||||||
|
$608: ErrStr := 'Internal timer error.';
|
||||||
|
$304: ErrStr := 'Windows Sockets send() call failed.';
|
||||||
|
$B07: ErrStr := 'The account is disabled.';
|
||||||
|
$E07: ErrStr := 'The account is expired.';
|
||||||
|
$D07: ErrStr := 'The account is locked out.';
|
||||||
|
$C07: ErrStr := 'The account is restricted.';
|
||||||
|
$1B07: ErrStr := 'The received certificate is expired.';
|
||||||
|
$1607: ErrStr := 'The policy does not support delegation of credentials to the target server.';
|
||||||
|
$2107: ErrStr := 'The server authentication policy does not allow connection requests using saved credentials. The user must enter new credentials.';
|
||||||
|
$807: ErrStr := 'Login failed.';
|
||||||
|
$1807: ErrStr := 'No authority could be contacted for authentication. The domain name of the authenticating party could be wrong, the domain could be unreachable, or there might have been a trust relationship failure.';
|
||||||
|
$A07: ErrStr := 'The specified user has no account.';
|
||||||
|
$F07: ErrStr := 'The password is expired.';
|
||||||
|
$1207: ErrStr := 'The user password must be changed before logging on for the first time.';
|
||||||
|
$1707: ErrStr := 'Delegation of credentials to the target server is not allowed unless mutual authentication has been achieved.';
|
||||||
|
$2207: ErrStr := 'The smart card is blocked.';
|
||||||
|
$1C07: ErrStr := 'An incorrect PIN was presented to the smart card.';
|
||||||
|
$B09: ErrStr := 'Network Level Authentication is required.';
|
||||||
|
$708: ErrStr := 'The RDP seems to work, but your client doesn''t support loopback connections. Try to connect to your PC from another device in the network.';
|
||||||
|
else ErrStr := 'Unknown code 0x'+IntToHex(discReason, 1);
|
||||||
|
end;
|
||||||
|
if (discReason > 2) then
|
||||||
|
MessageBox(Handle, PWideChar(ErrStr), 'Disconnected', mb_Ok or mb_IconError);
|
||||||
|
|
||||||
|
Reg := TRegistry.Create;
|
||||||
|
Reg.RootKey := HKEY_LOCAL_MACHINE;
|
||||||
|
|
||||||
|
if Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp', True) then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
Reg.WriteInteger('SecurityLayer', SecurityLayer);
|
||||||
|
Reg.WriteInteger('UserAuthentication', UserAuthentication);
|
||||||
|
except
|
||||||
|
|
||||||
|
end;
|
||||||
|
Reg.CloseKey;
|
||||||
|
end;
|
||||||
|
|
||||||
|
Reg.Free;
|
||||||
|
|
||||||
|
Halt(0);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
After Width: | Height: | Size: 161 KiB |
@ -0,0 +1,15 @@
|
|||||||
|
program RDPCheck;
|
||||||
|
|
||||||
|
uses
|
||||||
|
Forms,
|
||||||
|
MainUnit in 'MainUnit.pas' {Frm};
|
||||||
|
|
||||||
|
{$R *.res}
|
||||||
|
|
||||||
|
begin
|
||||||
|
Application.Initialize;
|
||||||
|
Application.MainFormOnTaskbar := True;
|
||||||
|
Application.Title := 'Local RDP Checker';
|
||||||
|
Application.CreateForm(TFrm, Frm);
|
||||||
|
Application.Run;
|
||||||
|
end.
|
||||||
@ -0,0 +1,107 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{90AE83F6-26B8-45D4-92FE-CF4ACCDE9F68}</ProjectGuid>
|
||||||
|
<ProjectVersion>12.0</ProjectVersion>
|
||||||
|
<MainSource>RDPCheck.dpr</MainSource>
|
||||||
|
<Config Condition="'$(Config)'==''">Release</Config>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
|
||||||
|
<Cfg_1>true</Cfg_1>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
|
||||||
|
<Cfg_2>true</Cfg_2>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Base)'!=''">
|
||||||
|
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias>
|
||||||
|
<DCC_DependencyCheckOutputName>RDPCheck.exe</DCC_DependencyCheckOutputName>
|
||||||
|
<DCC_ImageBase>00400000</DCC_ImageBase>
|
||||||
|
<DCC_Platform>x86</DCC_Platform>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||||
|
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<DCC_DebugInformation>false</DCC_DebugInformation>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
||||||
|
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="RDPCheck.dpr">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<DCCReference Include="MainUnit.pas">
|
||||||
|
<Form>Frm</Form>
|
||||||
|
</DCCReference>
|
||||||
|
<BuildConfiguration Include="Base">
|
||||||
|
<Key>Base</Key>
|
||||||
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Debug">
|
||||||
|
<Key>Cfg_2</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Release">
|
||||||
|
<Key>Cfg_1</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||||
|
<Borland.ProjectType/>
|
||||||
|
<BorlandProject>
|
||||||
|
<Delphi.Personality>
|
||||||
|
<Parameters>
|
||||||
|
<Parameters Name="UseLauncher">False</Parameters>
|
||||||
|
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||||
|
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||||
|
</Parameters>
|
||||||
|
<VersionInfo>
|
||||||
|
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
||||||
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
|
<VersionInfo Name="MajorVer">2</VersionInfo>
|
||||||
|
<VersionInfo Name="MinorVer">1</VersionInfo>
|
||||||
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Locale">1033</VersionInfo>
|
||||||
|
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||||
|
</VersionInfo>
|
||||||
|
<VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="CompanyName">Stas'M Corp.</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="FileDescription">Local RDP Checker</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="FileVersion">2.1.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="InternalName">RDPCheck</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="LegalCopyright">Copyright © Stas'M Corp. 2014</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="LegalTrademarks">Stas'M Corp.</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="OriginalFilename">RDPCheck.exe</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="ProductName">RDP Host Support</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="ProductVersion">1.3.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="Comments">http://stascorp.com</VersionInfoKeys>
|
||||||
|
</VersionInfoKeys>
|
||||||
|
<Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k140.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp140.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
</Excluded_Packages>
|
||||||
|
<Source>
|
||||||
|
<Source Name="MainSource">RDPCheck.dpr</Source>
|
||||||
|
</Source>
|
||||||
|
</Delphi.Personality>
|
||||||
|
</BorlandProject>
|
||||||
|
<ProjectFileVersion>12</ProjectFileVersion>
|
||||||
|
</ProjectExtensions>
|
||||||
|
</Project>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<BorlandProject>
|
||||||
|
<Transactions>
|
||||||
|
<Transaction>2013.12.08 02:49:59.064.pas,C:\Users\user\Documents\RAD Studio\Projects\Unit2.pas=C:\Users\user\Documents\Delphi Projects (local)\RDPWrap\devel\rdpcheck-binarymaster\MainUnit.pas</Transaction>
|
||||||
|
<Transaction>2013.12.08 02:49:59.064.dfm,C:\Users\user\Documents\RAD Studio\Projects\Unit2.dfm=C:\Users\user\Documents\Delphi Projects (local)\RDPWrap\devel\rdpcheck-binarymaster\MainUnit.dfm</Transaction>
|
||||||
|
<Transaction>2013.12.08 02:50:08.464.dproj,C:\Users\user\Documents\RAD Studio\Projects\Project1.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrap\devel\rdpcheck-binarymaster\RDPCheck.dproj</Transaction>
|
||||||
|
</Transactions>
|
||||||
|
</BorlandProject>
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,105 @@
|
|||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectGuid>{D6811241-D595-4809-B3B8-13BECEA56E11}</ProjectGuid>
|
||||||
|
<MainSource>rdpwrap.dpr</MainSource>
|
||||||
|
<Config Condition="'$(Config)'==''">Release</Config>
|
||||||
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
|
<ProjectVersion>12.0</ProjectVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
|
||||||
|
<Cfg_1>true</Cfg_1>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
|
||||||
|
<Cfg_2>true</Cfg_2>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
<Base>true</Base>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Base)'!=''">
|
||||||
|
<DCC_DependencyCheckOutputName>rdpwrap.dll</DCC_DependencyCheckOutputName>
|
||||||
|
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;$(DCC_UnitAlias)</DCC_UnitAlias>
|
||||||
|
<GenDll>true</GenDll>
|
||||||
|
<DCC_ImageBase>00400000</DCC_ImageBase>
|
||||||
|
<DCC_Platform>x86</DCC_Platform>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||||
|
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
||||||
|
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
||||||
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
|
<DCC_DebugInformation>false</DCC_DebugInformation>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
||||||
|
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<DelphiCompile Include="rdpwrap.dpr">
|
||||||
|
<MainSource>MainSource</MainSource>
|
||||||
|
</DelphiCompile>
|
||||||
|
<BuildConfiguration Include="Base">
|
||||||
|
<Key>Base</Key>
|
||||||
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Debug">
|
||||||
|
<Key>Cfg_2</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Release">
|
||||||
|
<Key>Cfg_1</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||||
|
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
|
||||||
|
<BorlandProject>
|
||||||
|
<Delphi.Personality>
|
||||||
|
<Source>
|
||||||
|
<Source Name="MainSource">rdpwrap.dpr</Source>
|
||||||
|
</Source>
|
||||||
|
<Parameters>
|
||||||
|
<Parameters Name="UseLauncher">False</Parameters>
|
||||||
|
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||||
|
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||||
|
</Parameters>
|
||||||
|
<VersionInfo>
|
||||||
|
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
|
||||||
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
|
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||||
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
|
<VersionInfo Name="Locale">1049</VersionInfo>
|
||||||
|
<VersionInfo Name="CodePage">1251</VersionInfo>
|
||||||
|
</VersionInfo>
|
||||||
|
<VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="CompanyName"/>
|
||||||
|
<VersionInfoKeys Name="FileDescription"/>
|
||||||
|
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="InternalName"/>
|
||||||
|
<VersionInfoKeys Name="LegalCopyright"/>
|
||||||
|
<VersionInfoKeys Name="LegalTrademarks"/>
|
||||||
|
<VersionInfoKeys Name="OriginalFilename"/>
|
||||||
|
<VersionInfoKeys Name="ProductName"/>
|
||||||
|
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="Comments"/>
|
||||||
|
</VersionInfoKeys>
|
||||||
|
<Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcboffice2k140.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\bcbofficexp140.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDS)\bin\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
</Excluded_Packages>
|
||||||
|
</Delphi.Personality>
|
||||||
|
</BorlandProject>
|
||||||
|
<ProjectFileVersion>12</ProjectFileVersion>
|
||||||
|
</ProjectExtensions>
|
||||||
|
</Project>
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<BorlandProject/>
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@
|
|||||||
|
LIBRARY BTREE
|
||||||
|
EXPORTS
|
||||||
|
ServiceMain
|
||||||
|
SvchostPushServiceGlobals
|
||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Файлы исходного кода">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Заголовочные файлы">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Файлы ресурсов">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Text Include="ReadMe.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="stdafx.h">
|
||||||
|
<Filter>Заголовочные файлы</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="targetver.h">
|
||||||
|
<Filter>Заголовочные файлы</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="stdafx.cpp">
|
||||||
|
<Filter>Файлы исходного кода</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="RDPWrap.cpp">
|
||||||
|
<Filter>Файлы исходного кода</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="dllmain.cpp">
|
||||||
|
<Filter>Файлы исходного кода</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Export.def">
|
||||||
|
<Filter>Файлы исходного кода</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
// dllmain.cpp: îïðåäåëÿåò òî÷êó âõîäà äëÿ ïðèëîæåíèÿ DLL.
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
BOOL APIENTRY DllMain( HMODULE hModule,
|
||||||
|
DWORD ul_reason_for_call,
|
||||||
|
LPVOID lpReserved
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
|
||||||
|
// или включаемых файлов для конкретного проекта, которые часто используются, но
|
||||||
|
// не часто изменяются
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "targetver.h"
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
|
||||||
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
|
|
||||||
|
// Файлы заголовков Windows:
|
||||||
|
#include <windows.h>
|
||||||
|
#include <TlHelp32.h>
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
|
||||||
|
|
||||||
|
typedef VOID (WINAPI* SERVICEMAIN)(DWORD, LPTSTR*);
|
||||||
|
typedef VOID (WINAPI* SVCHOSTPUSHSERVICEGLOBALS)(VOID*);
|
||||||
|
typedef HRESULT (WINAPI* SLGETWINDOWSINFORMATIONDWORD)(PCWSTR, DWORD*);
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Включение SDKDDKVer.h обеспечивает определение самой последней доступной платформы Windows.
|
||||||
|
|
||||||
|
// Если требуется выполнить построение приложения для предыдущей версии Windows, включите WinSDKVer.h и
|
||||||
|
// задайте для макроса _WIN32_WINNT значение поддерживаемой платформы перед включением SDKDDKVer.h.
|
||||||
|
|
||||||
|
#include <SDKDDKVer.h>
|
||||||
Binary file not shown.
Loading…
Reference in new issue