|
You last visited: Today at 05:49
Advertisement
Bot wil u GET U BANNED (swsro)
Discussion on Bot wil u GET U BANNED (swsro) within the SRO Private Server forum part of the Silkroad Online category.
07/24/2009, 12:46
|
#46
|
elite*gold: 20
Join Date: Mar 2007
Posts: 1,655
Received Thanks: 2,105
|
Quote:
Originally Posted by shikode1337
btw. i dont trust lolkop anymore..
His source from his loader selfcompiled 3/50
his loader 15/50 and pw protected so :s?Any1 can explain it ?!
And btw. u are talking a lot of bullshit.
|
That's what I kept saying but nobody pays attention, I wish one out of 1000 people that 'TRULY TRUST HIM' could explain this....
|
|
|
07/24/2009, 12:52
|
#47
|
elite*gold: 0
Join Date: Mar 2009
Posts: 443
Received Thanks: 597
|
Quote:
Originally Posted by DoubleDTheGreat
That's what I kept saying but nobody pays attention, I wish one out of 1000 people that 'TRULY TRUST HIM' could explain this....
|
fucking idiot. just decompile his loader with myAut2Exe and you will get exactly the sourcecode:
Code:
#NoTrayIcon
$PID = Run(@ScriptDir & "\sro_client.exe " & "0 /4 0 0")
$MID = MEMOPEN($PID)
MEMWRITE($MID, 6503536, "EB")
MEMWRITE($MID, 6503644, "EB")
MEMWRITE($MID, 6503761, "E8CA2BE6FFC7803801000001000000" & NOP(38))
MEMWRITE($MID, 6566007, "EB")
MEMWRITE($MID, 6566173, NOP(2))
MEMWRITE($MID, 6671308, "8B0D6869D3008B118B4214FFD05F83C410C3")
MEMWRITE($MID, 6001969, "EB")
MEMWRITE($MID, 6001931, "EB")
MEMWRITE($MID, 4948122, "EB")
MEMWRITE($MID, 5096484, "EB")
MEMWRITE($MID, 6171283, "EB")
MEMWRITE($MID, 6282891, "E9BF00000090")
MEMWRITE($MID, 8069277, "E9E800000090")
MEMWRITE($MID, 6589364, "EB")
MEMWRITE($MID, 6605508, "EB")
MEMWRITE($MID, 6625706, "EB")
MEMWRITE($MID, 6665309, "EB")
MEMWRITEFLOAT($MID, 10435136, 5000)
MEMWRITEFLOAT($MID, 10260592, 5000)
MEMCLOSE($MID)
Func MEMOPEN($PID)
Local $MID = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", 1, "int", $PID)
Return $MID[0]
EndFunc
Func MEMWRITE($MID, $ADRESS, $HEX)
Local $STRUCT = DllStructCreate("byte[" & BinaryLen("0x" & $HEX) & "]")
For $I = DllStructGetSize($STRUCT) To 1 Step -1
DllStructSetData($STRUCT, 1, BinaryMid("0x" & $HEX, $I, 1), $I)
Next
DllCall("kernel32.dll", "int", "WriteProcessMemory", "int", $MID, "int", $ADRESS, "ptr", DllStructGetPtr($STRUCT), "int", DllStructGetSize($STRUCT), "int", 0)
EndFunc
Func MEMCLOSE($MID)
DllCall("kernel32.dll", "int", "CloseHandle", "int", $MID)
EndFunc
Func MEMWRITEFLOAT($MID, $ADRESS, $VALUE)
Local $FLOAT = DllStructCreate("float")
DllStructSetData($FLOAT, 1, $VALUE)
DllCall("kernel32.dll", "int", "VirtualProtectEx", "int", $MID, "ptr", $ADRESS, "int", DllStructGetSize($FLOAT), "dword", 64, "dword*", 0)
DllCall("kernel32.dll", "int", "WriteProcessMemory", "int", $MID, "int", $ADRESS, "ptr", DllStructGetPtr($FLOAT), "int", DllStructGetSize($FLOAT), "int", 0)
EndFunc
Func NOP($NR)
Local $NOP
For $I = 1 To $NR
$NOP &= 90
Next
Return $NOP
EndFunc
|
|
|
07/24/2009, 15:33
|
#48
|
elite*gold: 0
Join Date: Apr 2008
Posts: 263
Received Thanks: 113
|
Quote:
Originally Posted by Shadowz75
fucking idiot. just decompile his loader with myAut2Exe and you will get exactly the sourcecode:
Code:
#NoTrayIcon
$PID = Run(@ScriptDir & "\sro_client.exe " & "0 /4 0 0")
$MID = MEMOPEN($PID)
MEMWRITE($MID, 6503536, "EB")
MEMWRITE($MID, 6503644, "EB")
MEMWRITE($MID, 6503761, "E8CA2BE6FFC7803801000001000000" & NOP(38))
MEMWRITE($MID, 6566007, "EB")
MEMWRITE($MID, 6566173, NOP(2))
MEMWRITE($MID, 6671308, "8B0D6869D3008B118B4214FFD05F83C410C3")
MEMWRITE($MID, 6001969, "EB")
MEMWRITE($MID, 6001931, "EB")
MEMWRITE($MID, 4948122, "EB")
MEMWRITE($MID, 5096484, "EB")
MEMWRITE($MID, 6171283, "EB")
MEMWRITE($MID, 6282891, "E9BF00000090")
MEMWRITE($MID, 8069277, "E9E800000090")
MEMWRITE($MID, 6589364, "EB")
MEMWRITE($MID, 6605508, "EB")
MEMWRITE($MID, 6625706, "EB")
MEMWRITE($MID, 6665309, "EB")
MEMWRITEFLOAT($MID, 10435136, 5000)
MEMWRITEFLOAT($MID, 10260592, 5000)
MEMCLOSE($MID)
Func MEMOPEN($PID)
Local $MID = DllCall("kernel32.dll", "int", "OpenProcess", "int", 2035711, "int", 1, "int", $PID)
Return $MID[0]
EndFunc
Func MEMWRITE($MID, $ADRESS, $HEX)
Local $STRUCT = DllStructCreate("byte[" & BinaryLen("0x" & $HEX) & "]")
For $I = DllStructGetSize($STRUCT) To 1 Step -1
DllStructSetData($STRUCT, 1, BinaryMid("0x" & $HEX, $I, 1), $I)
Next
DllCall("kernel32.dll", "int", "WriteProcessMemory", "int", $MID, "int", $ADRESS, "ptr", DllStructGetPtr($STRUCT), "int", DllStructGetSize($STRUCT), "int", 0)
EndFunc
Func MEMCLOSE($MID)
DllCall("kernel32.dll", "int", "CloseHandle", "int", $MID)
EndFunc
Func MEMWRITEFLOAT($MID, $ADRESS, $VALUE)
Local $FLOAT = DllStructCreate("float")
DllStructSetData($FLOAT, 1, $VALUE)
DllCall("kernel32.dll", "int", "VirtualProtectEx", "int", $MID, "ptr", $ADRESS, "int", DllStructGetSize($FLOAT), "dword", 64, "dword*", 0)
DllCall("kernel32.dll", "int", "WriteProcessMemory", "int", $MID, "int", $ADRESS, "ptr", DllStructGetPtr($FLOAT), "int", DllStructGetSize($FLOAT), "int", 0)
EndFunc
Func NOP($NR)
Local $NOP
For $I = 1 To $NR
$NOP &= 90
Next
Return $NOP
EndFunc
|
that looks dangerous
|
|
|
07/24/2009, 15:45
|
#49
|
elite*gold: 0
Join Date: Jul 2009
Posts: 20
Received Thanks: 4
|
So if i can bot where i can get a media.pk2 ? lol i want media.pk2 normal like isro cuz i dont like to see my game with ???? . And also bot where i can get too ? cuz lolkop close the topic.
|
|
|
07/24/2009, 15:51
|
#50
|
elite*gold: 0
Join Date: Sep 2008
Posts: 38
Received Thanks: 15
|
If i decompiled the originaly sunsro loader from his page i get this source gode
Quote:
GLOBAL Const $ERROR_NO_TOKEN = 1008
Global Const $SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"
Global Const $SE_AUDIT_NAME = "SeAuditPrivilege"
Global Const $SE_BACKUP_NAME = "SeBackupPrivilege"
Global Const $SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"
Global Const $SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege"
Global Const $SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"
Global Const $SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"
Global Const $SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"
Global Const $SE_DEBUG_NAME = "SeDebugPrivilege"
Global Const $SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"
Global Const $SE_IMPERSONATE_NAME = "SeImpersonatePrivilege"
Global Const $SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"
Global Const $SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"
Global Const $SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"
Global Const $SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"
Global Const $SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"
Global Const $SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"
Global Const $SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"
Global Const $SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"
Global Const $SE_RESTORE_NAME = "SeRestorePrivilege"
Global Const $SE_SECURITY_NAME = "SeSecurityPrivilege"
Global Const $SE_SHUTDOWN_NAME = "SeShutdownPrivilege"
Global Const $SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"
Global Const $SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"
Global Const $SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"
Global Const $SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"
Global Const $SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"
Global Const $SE_TCB_NAME = "SeTcbPrivilege"
Global Const $SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"
Global Const $SE_UNDOCK_NAME = "SeUndockPrivilege"
Global Const $SE_PRIVILEGE_ENABLED_BY_DEFAULT = 1
Global Const $SE_PRIVILEGE_ENABLED = 2
Global Const $SE_PRIVILEGE_REMOVED = 4
Global Const $SE_PRIVILEGE_USED_FOR_ACCESS = -2147483648
Global Const $TOKENUSER = 1
Global Const $TOKENGROUPS = 2
Global Const $TOKENPRIVILEGES = 3
Global Const $TOKENOWNER = 4
Global Const $TOKENPRIMARYGROUP = 5
Global Const $TOKENDEFAULTDACL = 6
Global Const $TOKENSOURCE = 7
Global Const $TOKENTYPE = 8
Global Const $TOKENIMPERSONATIONLEVEL = 9
Global Const $TOKENSTATISTICS = 10
Global Const $TOKENRESTRICTEDSIDS = 11
Global Const $TOKENSESSIONID = 12
Global Const $TOKENGROUPSANDPRIVILEGES = 13
Global Const $TOKENSESSIONREFERENCE = 14
Global Const $TOKENSANDBOXINERT = 15
Global Const $TOKENAUDITPOLICY = 16
Global Const $TOKENORIGIN = 17
Global Const $TOKENELEVATIONTYPE = 18
Global Const $TOKENLINKEDTOKEN = 19
Global Const $TOKENELEVATION = 20
Global Const $TOKENHASRESTRICTIONS = 21
Global Const $TOKENACCESSINFORMATION = 22
Global Const $TOKENVIRTUALIZATIONALLOWED = 23
Global Const $TOKENVIRTUALIZATIONENABLED = 24
Global Const $TOKENINTEGRITYLEVEL = 25
Global Const $TOKENUIACCESS = 26
Global Const $TOKENMANDATORYPOLICY = 27
Global Const $TOKENLOGONSID = 28
Global Const $TAGCOMBOBOXINFO = "dword Size;int EditLeft;int EditTop;int EditRight;int EditBottom;int BtnLeft;int BtnTop;" & "int BtnRight;int BtnBottom;dword BtnState;hwnd hCombo;hwnd hEdit;hwnd hList"
Global Const $TAGCOMBOBOXEXITEM = "int Mask;int Item;ptr Text;int TextMax;int Image;int SelectedImage;int OverlayImage;" & "int Indent;int Param"
Global Const $TAGNMCBEDRAGBEGIN = "hwnd hWndFrom;int IDFrom;int Code;int ItemID;char Text[1024]"
Global Const $TAGNMCBEENDEDIT = "hwnd hWndFrom;int IDFrom;int Code;int fChanged;int NewSelection;char Text[1024];int Why"
Global Const $TAGNMCOMBOBOXEX = "hwnd hWndFrom;int IDFrom;int Code;int Mask;int Item;ptr Text;int TextMax;int Image;" & "int SelectedImage;int OverlayImage;int Indent;int Param"
Global Const $TAGDTPRANGE = "short MinYear;short MinMonth;short MinDOW;short MinDay;short MinHour;short MinMinute;" & "short MinSecond;short MinMSecond;short MaxYear;short MaxMonth;short MaxDOW;short MaxDay;short MaxHour;" & "short MaxMinute;short MaxSecond;short MaxMSecond;int MinValid;int MaxValid"
Global Const $TAGDTPTIME = "short Year;short Month;short DOW;short Day;short Hour;short Minute;short Second;short MSecond"
Global Const $TAGNMDATETIMECHANGE = "hwnd hWndFrom;int IDFrom;int Code;int Flag;short Year;short Month;short DOW;short Day;" & "short Hour;short Minute;short Second;short MSecond"
Global Const $TAGNMDATETIMEFORMAT = "hwnd hWndFrom;int IDFrom;int Code;ptr Format;short Year;short Month;short DOW;short Day;" & "short Hour;short Minute;short Second;short MSecond;ptr pDisplay;char Display[64]"
Global Const $TAGNMDATETIMEFORMATQUERY = "hwnd hWndFrom;int IDFrom;int Code;ptr Format;int SizeX;int SizeY"
Global Const $TAGNMDATETIMEKEYDOWN = "hwnd hWndFrom;int IDFrom;int Code;int VirtKey;ptr Format;short Year;short Month;short DOW;" & "short Day;short Hour;short Minute;short Second;short MSecond"
Global Const $TAGNMDATETIMESTRING = "hwnd hWndFrom;int IDFrom;int Code;ptr UserString;short Year;short Month;short DOW;short Day;" & "short Hour;short Minute;short Second;short MSecond;int Flags"
Global Const $TAGEDITBALLOONTIP = "dword Size;ptr Title;ptr Text;int Icon"
Global Const $TAGEVENTLOGRECORD = "int Length;int Reserved;int RecordNumber;int TimeGenerated;int TimeWritten;int EventID;" & "short EventType;short NumStrings;short EventCategory;short ReservedFlags;int ClosingRecordNumber;int StringOffset;" & "int UserSidLength;int UserSidOffset;int DataLength;int DataOffset"
Global Const $TAGEVENTREAD = "byte Buffer[4096];int BytesRead;int BytesMin"
Global Const $TAGGDIPBITMAPDATA = "uint Width;uint Height;int Stride;uint Format;ptr Scan0;ptr Reserved"
Global Const $TAGGDIPENCODERPARAM = "byte GUID[16];dword Count;dword Type;ptr Values"
Global Const $TAGGDIPENCODERPARAMS = "dword Count;byte Params[0]"
Global Const $TAGGDIPRECTF = "float X;float Y;float Width;float Height"
Global Const $TAGGDIPSTARTUPINPUT = "int Version;ptr Callback;int NoThread;int NoCodecs"
Global Const $TAGGDIPSTARTUPOUTPUT = "ptr HookProc;ptr UnhookProc"
Global Const $TAGGDIPIMAGECODECINFO = "byte CLSID[16];byte FormatID[16];ptr CodecName;ptr DllName;ptr FormatDesc;ptr FileExt;" & "ptr MimeType;dword Flags;dword Version;dword SigCount;dword SigSize;ptr SigPattern;ptr SigMask"
Global Const $TAGGDIPPENCODERPARAMS = "dword Count;byte Params[0]"
Global Const $TAGHDHITTESTINFO = "int X;int Y;int Flags;int Item"
Global Const $TAGHDITEM = "int Mask;int XY;ptr Text;hwnd hBMP;int TextMax;int Fmt;int Param;int Image;int Order;int Type;ptr pFilter;int State"
Global Const $TAGHDLAYOUT = "ptr Rect;ptr WindowPos"
Global Const $TAGHDTEXTFILTER = "ptr Text;int TextMax"
Global Const $TAGNMHDDISPINFO = "hwnd WndFrom;int IDFrom;int Code;int Item;int Mask;ptr Text;int TextMax;int Image;int lParam"
Global Const $TAGNMHDFILTERBTNCLICK = "hwnd hWndFrom;int IDFrom;int Code;int Item;int Left;int Top;int Right;int Bottom"
Global Const $TAGNMHEADER = "hwnd hWndFrom;int IDFrom;int Code;int Item;int Button;ptr pItem"
Global Const $TAGGETIPADDRESS = "ubyte Field4;ubyte Field3;ubyte Field2;ubyte Field1"
Global Const $TAGNMIPADDRESS = "hwnd hWndFrom;int IDFrom;int Code;int Field;int Value"
Global Const $TAGLVBKIMAGE = "int Flags;hwnd hBmp;int Image;int ImageMax;int XOffPercent;int YOffPercent"
Global Const $TAGLVCOLUMN = "int Mask;int Fmt;int CX;ptr Text;int TextMax;int SubItem;int Image;int Order"
Global Const $TAGLVFINDINFO = "int Flags;ptr Text;int Param;int X;int Y;int Direction"
Global Const $TAGLVGROUP = "int Size;int Mask;ptr Header;int HeaderMax;ptr Footer;int FooterMax;int GroupID;int StateMask;int State;int Align"
Global Const $TAGLVHITTESTINFO = "int X;int Y;int Flags;int Item;int SubItem"
Global Const $TAGLVINSERTMARK = "uint Size;dword Flags;int Item;dword Reserved"
Global Const $TAGLVITEM = "int Mask;int Item;int SubItem;int State;int StateMask;ptr Text;int TextMax;int Image;int Param;" & "int Indent;int GroupID;int Columns;ptr pColumns"
Global Const $TAGNMLISTVIEW = "hwnd hWndFrom;int IDFrom;int Code;int Item;int SubItem;int NewState;int OldState;int Changed;" & "int ActionX;int ActionY;int Param"
Global Const $TAGNMLVCUSTOMDRAW = "hwnd hWndFrom;int IDFrom;int Code;dword dwDrawStage;hwnd hdc;int Left;int Top;int Right;int Bottom;" & "dword dwItemSpec;uint uItemState;long lItemlParam;int clrText;int clrTextBk;int iSubItem;dword dwItemType;int clrFace;int iIconEffect;" & "int iIconPhase;int iPartId;int iStateId;int TextLeft;int TextTop;int TextRight;int TextBottom;uint uAlign"
Global Const $TAGNMLVDISPINFO = "hwnd hWndFrom;int IDFrom;int Code;int Mask;int Item;int SubItem;int State;int StateMask;" & "ptr Text;int TextMax;int Image;int Param;int Indent;int GroupID;int Columns;ptr pColumns"
Global Const $TAGNMLVFINDITEM = "hwnd hWndFrom;int IDFrom;int Code;int Start;int Flags;ptr Text;int Param;int X;int Y;int Direction"
Global Const $TAGNMLVGETINFOTIP = "hwnd hWndFrom;int IDFrom;int Code;int Flags;ptr Text;int TextMax;int Item;int SubItem;int lParam"
Global Const $TAGNMITEMACTIVATE = "hwnd hWndFrom;int IDFrom;int Code;int Index;int SubItem;int NewState;int OldState;" & "int Changed;int X;int Y;int lParam;int KeyFlags"
Global Const $TAGNMLVKEYDOWN = "hwnd hWndFrom;int IDFrom;int Code;int VKey;int Flags"
Global Const $TAGNMLVSCROLL = "hwnd hWndFrom;int IDFrom;int Code;int DX;int DY"
Global Const $TAGLVSETINFOTIP = "int Size;int Flags;ptr Text;int Item;int SubItem"
Global Const $TAGMCHITTESTINFO = "int Size;int X;int Y;int Hit;short Year;short Month;short DOW;short Day;short Hour;" & "short Minute;short Second;short MSeconds"
Global Const $TAGMCMONTHRANGE = "short MinYear;short MinMonth;short MinDOW;short MinDay;short MinHour;short MinMinute;short MinSecond;" & "short MinMSeconds;short MaxYear;short MaxMonth;short MaxDOW;short MaxDay;short MaxHour;short MaxMinute;short MaxSecond;" & "short MaxMSeconds;short Span"
Global Const $TAGMCRANGE = "short MinYear;short MinMonth;short MinDOW;short MinDay;short MinHour;short MinMinute;short MinSecond;" & "short MinMSeconds;short MaxYear;short MaxMonth;short MaxDOW;short MaxDay;short MaxHour;short MaxMinute;short MaxSecond;" & "short MaxMSeconds;short MinSet;short MaxSet"
Global Const $TAGMCSELRANGE = "short MinYear;short MinMonth;short MinDOW;short MinDay;short MinHour;short MinMinute;short MinSecond;" & "short MinMSeconds;short MaxYear;short MaxMonth;short MaxDOW;short MaxDay;short MaxHour;short MaxMinute;short MaxSecond;" & "short MaxMSeconds"
Global Const $TAGNMDAYSTATE = "hwnd hWndFrom;int IDFrom;int Code;short Year;short Month;short DOW;short Day;short Hour;" & "short Minute;short Second;short MSeconds;int DayState;ptr pDayState"
Global Const $TAGNMSELCHANGE = "hwnd hWndFrom;int IDFrom;int Code;short BegYear;short BegMonth;short BegDOW;short BegDay;" & "short BegHour;short BegMinute;short BegSecond;short BegMSeconds;short EndYear;short EndMonth;short EndDOW;" & "short EndDay;short EndHour;short EndMinute;short EndSecond;short EndMSeconds"
Global Const $TAGNMOBJECTNOTIFY = "hwnd hWndFrom;int IDFrom;int Code;int Item;ptr piid;ptr pObject;int Result"
Global Const $TAGNMTCKEYDOWN = "hwnd hWndFrom;int IDFrom;int Code;int VKey;int Flags"
Global Const $TAGTCITEM = "int Mask;int State;int StateMask;ptr Text;int TextMax;int Image;int Param"
Global Const $TAGTCHITTESTINFO = "int X;int Y;int Flags"
Global Const $TAGTVITEMEX = "int Mask;int hItem;int State;int StateMask;ptr Text;int TextMax;int Image;int SelectedImage;" & "int Children;int Param;int Integral"
Global Const $TAGNMTREEVIEW = "hwnd hWndFrom;int IDFrom;int Code;int Action;int OldMask;int OldhItem;int OldState;int OldStateMask;" & "ptr OldText;int OldTextMax;int OldImage;int OldSelectedImage;int OldChildren;int OldParam;int NewMask;int NewhItem;" & "int NewState;int NewStateMask;ptr NewText;int NewTextMax;int NewImage;int NewSelectedImage;int NewChildren;" & "int NewParam;int PointX; int PointY"
Global Const $TAGNMTVCUSTOMDRAW = "hwnd hWndFrom;int IDFrom;int Code;uint DrawStage;hwnd HDC;int Left;int Top;int Right;int Bottom;" & "ptr ItemSpec;uint ItemState;int ItemParam;int ClrText;int ClrTextBk;int Level"
Global Const $TAGNMTVDISPINFO = "hwnd hWndFrom;int IDFrom;int Code;int Mask;int hItem;int State;int StateMask;" & "ptr Text;int TextMax;int Image;int SelectedImage;int Children;int Param"
Global Const $TAGNMTVGETINFOTIP = "hwnd hWndFrom;int IDFrom;int Code;ptr Text;int TextMax;hwnd hItem;int lParam"
Global Const $TAGTVHITTESTINFO = "int X;int Y;int Flags;int Item"
Global Const $TAGTVINSERTSTRUCT = "hwnd Parent;int InsertAfter;int Mask;hwnd hItem;int State;int StateMask;ptr Text;int TextMax;" & "int Image;int SelectedImage;int Children;int Param"
Global Const $TAGNMTVKEYDOWN = "hwnd hWndFrom;int IDFrom;int Code;int VKey;int Flags"
Global Const $TAGNMTTDISPINFO = "hwnd hWndFrom;int IDFrom;int Code;ptr pText;char aText[80];hwnd Instance;int Flags;int Param"
Global Const $TAGTOOLINFO = "int Size;int Flags;hwnd hWnd;int ID;int Left;int Top;int Right;int Bottom;hwnd hInst;ptr Text;int Param;ptr Reserved"
Global Const $TAGTTGETTITLE = "int Size;int Bitmap;int TitleMax;ptr Title"
Global Const $TAGTTHITTESTINFO = "hwnd Tool;int X;int Y;int Size;int Flags;hwnd hWnd;int ID;int Left;int Top;int Right;int Bottom;" & "hwnd hInst;ptr Text;int Param;ptr Reserved"
Global Const $TAGNMHDR = "hwnd hWndFrom;int IDFrom;int Code"
Global Const $TAGNMMOUSE = "hwnd hWndFrom;int IDFrom;int Code;dword ItemSpec;dword ItemData;int X;int Y;dword HitInfo"
Global Const $TAGPOINT = "int X;int Y"
Global Const $TAGRECT = "int Left;int Top;int Right;int Bottom"
Global Const $TAGMARGINS = "int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight"
Global Const $TAGSIZE = "int X;int Y"
Global Const $TAGTOKEN_PRIVILEGES = "int Count;int64 LUID;int Attributes"
Global Const $TAGIMAGEINFO = "hwnd hBitmap;hwnd hMask;int Unused1;int Unused2;int Left;int Top;int Right;int Bottom"
Global Const $TAGIMAGELISTDRAWPARAMS = "int Size;hwnd hWnd;int Image;hwnd hDC;int X;int Y;int CX;int CY;int XBitmap;int YBitmap;" & "int BK;int FG;int Style;int ROP;int State;int Frame;int Effect"
Global Const $TAGMEMMAP = "hwnd hProc;int Size;ptr Mem"
Global Const $TAGMDINEXTMENU = "hwnd hMenuIn;hwnd hMenuNext;hwnd hWndNext"
Global Const $TAGMENUBARINFO = "int Size;int Left;int Top;int Right;int Bottom;int hMenu;int hWndMenu;int Focused"
Global Const $TAGMENUEX_TEMPLATE_HEADER = "short Version;short Offset;int HelpID"
Global Const $TAGMENUEX_TEMPLATE_ITEM = "int HelpID;int Type;int State;int MenuID;short ResInfo;ptr Text"
Global Const $TAGMENUGETOBJECTINFO = "int Flags;int Pos;hwnd hMenu;ptr RIID;ptr Obj"
Global Const $TAGMENUINFO = "int Size;int Mask;int Style;int YMax;int hBack;int ContextHelpID;ptr MenuData"
Global Const $TAGMENUITEMINFO = "int Size;int Mask;int Type;int State;int ID;int SubMenu;int BmpChecked;int BmpUnchecked;" & "int ItemData;ptr TypeData;int CCH;int BmpItem"
Global Const $TAGMENUITEMTEMPLATE = "short Option;short ID;ptr String"
Global Const $TAGMENUITEMTEMPLATEHEADER = "short Version;short Offset"
Global Const $TAGTPMPARAMS = "short Version;short Offset"
Global Const $TAGCONNECTION_INFO_1 = "int ID;int Type;int Opens;int Users;int Time;ptr Username;ptr NetName"
Global Const $TAGFILE_INFO_3 = "int ID;int Permissions;int Locks;ptr Pathname;ptr Username"
Global Const $TAGSESSION_INFO_2 = "ptr CName;ptr Username;int Opens;int Time;int Idle;int Flags;ptr TypeName"
Global Const $TAGSESSION_INFO_502 = "ptr CName;ptr Username;int Opens;int Time;int Idle;int Flags;ptr TypeName;ptr Transport"
Global Const $TAGSHARE_INFO_2 = "ptr NetName;int Type;ptr Remark;int Permissions;int MaxUses;int CurrentUses;ptr Path;ptr Password"
Global Const $TAGSTAT_SERVER_0 = "int Start;int FOpens;int DevOpens;int JobsQueued;int SOpens;int STimedOut;int SErrorOut;" & "int PWErrors;int PermErrors;int SysErrors;int64 ByteSent;int64 ByteRecv;int AvResponse;int ReqBufNeed;int BigBufNeed"
Global Const $TAGSTAT_WORKSTATION_0 = "int64 StartTime;int64 BytesRecv;int64 SMBSRecv;int64 PageRead;int64 NonPageRead;" & "int64 CacheRead;int64 NetRead;int64 BytesTran;int64 SMBSTran;int64 PageWrite;int64 NonPageWrite;int64 CacheWrite;" & "int64 NetWrite;int InitFailed;int FailedComp;int ReadOp;int RandomReadOp;int ReadSMBS;int LargeReadSMBS;" & "int SmallReadSMBS;int WriteOp;int RandomWriteOp;int WriteSMBS;int LargeWriteSMBS;int SmallWriteSMBS;" & "int RawReadsDenied;int RawWritesDenied;int NetworkErrors;int Sessions;int FailedSessions;int Reconnects;" & "int CoreConnects;int LM20Connects;int LM21Connects;int LMNTConnects;int ServerDisconnects;int HungSessions;" & "int UseCount;int FailedUseCount;int CurrentCommands"
Global Const $TAGFILETIME = "dword Lo;dword Hi"
Global Const $TAGSYSTEMTIME = "short Year;short Month;short Dow;short Day;short Hour;short Minute;short Second;short MSeconds"
Global Const $TAGTIME_ZONE_INFORMATION = "long Bias;byte StdName[64];ushort StdDate[8];long StdBias;byte DayName[64];ushort DayDate[8];long DayBias"
Global Const $TAGPBRANGE = "int Low;int High"
Global Const $TAGREBARBANDINFO = "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" & "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;hwnd hbmBack;uint wID;uint cyChild;uint cyMaxChild;" & "uint cyIntegral;uint cxIdeal;int lParam;uint cxHeader"
Global Const $TAGNMREBARAUTOBREAK = "hwnd hWndFrom;int IDFrom;int Code;uint uBand;uint wID;int lParam;uint uMsg;uint fStyleCurrent;int fAutoBreak"
Global Const $TAGNMRBAUTOSIZE = "hwnd hWndFrom;int IDFrom;int Code;int fChanged;int TargetLeft;int TargetTop;int TargetRight;int TargetBottom;" & "int ActualLeft;int ActualTop;int ActualRight;int ActualBottom"
Global Const $TAGNMREBAR = "hwnd hWndFrom;int IDFrom;int Code;dword dwMask;uint uBand;uint fStyle;uint wID;int lParam"
Global Const $TAGNMREBARCHEVRON = "hwnd hWndFrom;int IDFrom;int Code;uint uBand;uint wID;int lParam;int Left;int Top;int Right;int Bottom;int lParamNM"
Global Const $TAGNMREBARCHILDSIZE = "hwnd hWndFrom;int IDFrom;int Code;uint uBand;uint wID;int CLeft;int CTop;int CRight;int CBottom;" & "int BLeft;int BTop;int BRight;int BBottom"
Global Const $TAGREBARINFO = "uint cbSize;uint fMask;hwnd himl"
Global Const $TAGRBHITTESTINFO = "int X;int Y;uint flags;int iBand"
Global Const $TAGCOLORSCHEME = "int Size;int BtnHighlight;int BtnShadow"
Global Const $TAGTBADDBITMAP = "int hInst;int ID"
Global Const $TAGNMTOOLBAR = "hwnd hWndFrom;int IDFrom;int Code;int iItem;int iBitmap;int idCommand;" & "byte fsState;byte fsStyle;byte bReserved1;byte bReserved2;dword dwData;int iString;int cchText;" & "ptr pszText;int Left;int Top;int Right;int Bottom"
Global Const $TAGNMTBHOTITEM = "hwnd hWndFrom;int IDFrom;int Code;int idOld;int idNew;dword dwFlags"
Global Const $TAGTBBUTTON = "int Bitmap;int Command;byte State;byte Style;short Reserved;int Param;int String"
Global Const $TAGTBBUTTONINFO = "int Size;int Mask;int Command;int Image;byte State;byte Style;short CX;int Param;ptr Text;int TextMax"
Global Const $TAGTBINSERTMARK = "int Button;int Flags"
Global Const $TAGTBMETRICS = "int Size;int Mask;int XPad;int YPad;int XBarPad;int YBarPad;int XSpacing;int YSpacing"
Global Const $TAGCONNECTDLGSTRUCT = "int Size;hwnd hWnd;ptr Resource;int Flags;int DevNum"
Global Const $TAGDISCDLGSTRUCT = "int Size;hwnd hWnd;ptr LocalName;ptr RemoteName;int Flags"
Global Const $TAGNETCONNECTINFOSTRUCT = "int Size;int Flags;int Speed;int Delay;int OptDataSize"
Global Const $TAGNETINFOSTRUCT = "int Size;int Version;int Status;int Char;int Handle;short NetType;int Printers;int Drives;short Reserved"
Global Const $TAGNETRESOURCE = "int Scope;int Type;int DisplayType;int Usage;ptr LocalName;ptr RemoteName;ptr Comment;ptr Provider"
Global Const $TAGREMOTENAMEINFO = "ptr Universal;ptr Connection;ptr Remaining"
Global Const $TAGOVERLAPPED = "int Internal;int InternalHigh;int Offset;int OffsetHigh;int hEvent"
Global Const $TAGOPENFILENAME = "dword StructSize;hwnd hwndOwner;hwnd hInstance;ptr lpstrFilter;ptr lpstrCustomFilter;" & "dword nMaxCustFilter;dword nFilterIndex;ptr lpstrFile;dword nMaxFile;ptr lpstrFileTitle;int nMaxFileTitle;" & "ptr lpstrInitialDir;ptr lpstrTitle;dword Flags;short nFileOffset;short nFileExtension;ptr lpstrDefExt;ptr lCustData;" & "ptr lpfnHook;ptr lpTemplateName;ptr pvReserved;dword dwReserved;dword FlagsEx"
Global Const $TAGBITMAPINFO = "dword Size;long Width;long Height;ushort Planes;ushort BitCount;dword Compression;dword SizeImage;" & "long XPelsPerMeter;long YPelsPerMeter;dword ClrUsed;dword ClrImportant;dword RGBQuad"
Global Const $TAGBLENDFUNCTION = "byte Op;byte Flags;byte Alpha;byte Format"
Global Const $TAGBORDERS = "int BX;int BY;int RX"
Global Const $TAGCHOOSECOLOR = "dword Size;hwnd hWndOwnder;hwnd hInstance;int rgbResult;ptr CustColors;dword Flags;int lCustData;" & "ptr lpfnHook;ptr lpTemplateName"
Global Const $TAGCHOOSEFONT = "dword Size;hwnd hWndOwner;hwnd hDC;ptr LogFont;int PointSize;dword Flags;int rgbColors;int CustData;" & "ptr fnHook;ptr TemplateName;hwnd hInstance;ptr szStyle;dword FontType;int SizeMin;int SizeMax"
Global Const $TAGTEXTMETRIC = "long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;" & "long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;" & "char tmFirstChar;char tmLastChar;char tmDefaultChar;char tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;" & "byte tmPitchAndFamily;byte tmCharSet"
Global Const $TAGCURSORINFO = "int Size;int Flags;hwnd hCursor;int X;int Y"
Global Const $TAGDISPLAY_DEVICE = "int Size;char Name[32];char String[128];int Flags;char ID[128];char Key[128]"
Global Const $TAGFLASHWINDOW = "int Size;hwnd hWnd;int Flags;int Count;int TimeOut"
Global Const $TAGGUID = "int Data1;short Data2;short Data3;byte Data4[8]"
Global Const $TAGICONINFO = "int Icon;int XHotSpot;int YHotSpot;hwnd hMask;hwnd hColor"
Global Const $TAGWINDOWPOS = "hwnd hWnd;int InsertAfter;int X;int Y;int CX;int CY;int Flags"
Global Const $TAGSCROLLINFO = "uint cbSize;uint fMask;int nMin;int nMax;uint nPage;int nPos;int nTrackPos"
Global Const $TAGSCROLLBARINFO = "dword cbSize;int Left;int Top;int Right;int Bottom;int dxyLineButton;int xyThumbTop;" & "int xyThumbBottom;int reserved;dword rgstate[6]"
Global Const $TAGLOGFONT = "int Height;int Width;int Escapement;int Orientation;int Weight;byte Italic;byte Underline;" & "byte Strikeout;byte CharSet;byte OutPrecision;byte ClipPrecision;byte Quality;byte PitchAndFamily;char FaceName[32]"
Global Const $TAGKBDLLHOOKSTRUCT = "dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo"
Global Const $TAGPROCESS_INFORMATION = "hwnd hProcess;hwnd hThread;int ProcessID;int ThreadID"
Global Const $TAGSTARTUPINFO = "int Size;ptr Reserved1;ptr Desktop;ptr Title;int X;int Y;int XSize;int YSize;int XCountChars;" & "int YCountChars;int FillAttribute;int Flags;short ShowWindow;short Reserved2;ptr Reserved3;int StdInput;" & "int StdOutput;int StdError"
Global Const $TAGSECURITY_ATTRIBUTES = "int Length;ptr Descriptor;int InheritHandle"
Global Const $__SECURITYCONTANT_FORMAT_MESSAGE_FROM_SYSTEM = 4096
Func _SECURITY__ADJUSTTOKENPRIVILEGES($HTOKEN, $FDISABLEALL, $PNEWSTATE, $IBUFFERLEN, $PPREVSTATE = 0, $PREQUIRED = 0)
Local $ARESULT
$ARESULT = DllCall("Advapi32.dll", "int", "AdjustTokenPrivileges", "hwnd", $HTOKEN, "int", $FDISABLEALL, "ptr", $PNEWSTATE, "int", $IBUFFERLEN, "ptr", $PPREVSTATE, "ptr", $PREQUIRED)
Return SetError($ARESULT[0] = 0, 0, $ARESULT[0] <> 0)
EndFunc
Func _SECURITY__GETACCOUNTSID($SACCOUNT, $SSYSTEM = "")
Local $AACCT
$AACCT = _SECURITY__LOOKUPACCOUNTNAME($SACCOUNT, $SSYSTEM)
If @error Then Return SetError(@error, 0, 0)
Return _SECURITY__STRINGSIDTOSID($AACCT[0])
EndFunc
Func _SECURITY__GETLENGTHSID($PSID)
Local $ARESULT
If Not _SECURITY__ISVALIDSID($PSID) Then Return SetError(-1, 0, 0)
$ARESULT = DllCall("AdvAPI32.dll", "int", "GetLengthSid", "ptr", $PSID)
Return $ARESULT[0]
EndFunc
Func _SECURITY__GETTOKENINFORMATION($HTOKEN, $ICLASS)
Local $PBUFFER, $TBUFFER, $ARESULT
$ARESULT = DllCall("Advapi32.dll", "int", "GetTokenInformation", "hwnd", $HTOKEN, "int", $ICLASS, "ptr", 0, "int", 0, "int*", 0)
$TBUFFER = DllStructCreate("byte[" & $ARESULT[5] & "]")
$PBUFFER = DllStructGetPtr($TBUFFER)
$ARESULT = DllCall("Advapi32.dll", "int", "GetTokenInformation", "hwnd", $HTOKEN, "int", $ICLASS, "ptr", $PBUFFER, "int", $ARESULT[5], "int*", 0)
If $ARESULT[0] = 0 Then Return SetError(-1, 0, 0)
Return SetError(0, 0, $TBUFFER)
EndFunc
Func _SECURITY__IMPERSONATESELF($ILEVEL = 2)
Local $ARESULT
$ARESULT = DllCall("Advapi32.dll", "int", "ImpersonateSelf", "int", $ILEVEL)
Return SetError($ARESULT[0] = 0, 0, $ARESULT[0] <> 0)
EndFunc
Func _SECURITY__ISVALIDSID($PSID)
Local $ARESULT
$ARESULT = DllCall("AdvAPI32.dll", "int", "IsValidSid", "ptr", $PSID)
Return $ARESULT[0] <> 0
EndFunc
Func _SECURITY__LOOKUPACCOUNTNAME($SACCOUNT, $SSYSTEM = "")
Local $TDATA, $PDOMAIN, $PSID, $PSIZE1, $PSIZE2, $PSNU, $ARESULT, $AACCT[3]
$TDATA = DllStructCreate("byte SID[256];char Domain[256];int SNU;int Size1;int Size2")
$PSID = DllStructGetPtr($TDATA, "SID")
$PDOMAIN = DllStructGetPtr($TDATA, "Domain")
$PSNU = DllStructGetPtr($TDATA, "SNU")
$PSIZE1 = DllStructGetPtr($TDATA, "Size1")
$PSIZE2 = DllStructGetPtr($TDATA, "Size2")
DllStructSetData($TDATA, "Size1", 256)
DllStructSetData($TDATA, "Size2", 256)
$ARESULT = DllCall("AdvAPI32.dll", "int", "LookupAccountName", "str", $SSYSTEM, "str", $SACCOUNT, "ptr", $PSID, "ptr", $PSIZE1, "ptr", $PDOMAIN, "ptr", $PSIZE2, "ptr", $PSNU)
If $ARESULT[0] <> 0 Then
$AACCT[0] = _SECURITY__SIDTOSTRINGSID($PSID)
$AACCT[1] = DllStructGetData($TDATA, "Domain")
$AACCT[2] = DllStructGetData($TDATA, "SNU")
EndIf
Return SetError($ARESULT[0] = 0, 0, $AACCT)
EndFunc
Func _SECURITY__LOOKUPACCOUNTSID($VSID)
Local $TDATA, $PDOMAIN, $PNAME, $PSID, $TSID, $PSIZE1, $PSIZE2, $PSNU, $ARESULT, $AACCT[3]
If IsString($VSID) Then
$TSID = _SECURITY__STRINGSIDTOSID($VSID)
$PSID = DllStructGetPtr($TSID)
Else
$PSID = $VSID
EndIf
If Not _SECURITY__ISVALIDSID($PSID) Then Return SetError(-1, 0, 0)
$TDATA = DllStructCreate("char Name[256];char Domain[256];int SNU;int Size1;int Size2")
$PNAME = DllStructGetPtr($TDATA, "Name")
$PDOMAIN = DllStructGetPtr($TDATA, "Domain")
$PSNU = DllStructGetPtr($TDATA, "SNU")
$PSIZE1 = DllStructGetPtr($TDATA, "Size1")
$PSIZE2 = DllStructGetPtr($TDATA, "Size2")
DllStructSetData($TDATA, "Size1", 256)
DllStructSetData($TDATA, "Size2", 256)
$ARESULT = DllCall("AdvAPI32.dll", "int", "LookupAccountSid", "int", 0, "ptr", $PSID, "ptr", $PNAME, "ptr", $PSIZE1, "ptr", $PDOMAIN, "ptr", $PSIZE2, "ptr", $PSNU)
$AACCT[0] = DllStructGetData($TDATA, "Name")
$AACCT[1] = DllStructGetData($TDATA, "Domain")
$AACCT[2] = DllStructGetData($TDATA, "SNU")
Return SetError($ARESULT[0] = 0, 0, $AACCT)
EndFunc
Func _SECURITY__LOOKUPPRIVILEGEVALUE($SSYSTEM, $SNAME)
Local $TDATA, $ARESULT
$TDATA = DllStructCreate("int64 LUID")
$ARESULT = DllCall("Advapi32.dll", "int", "LookupPrivilegeValue", "str", $SSYSTEM, "str", $SNAME, "ptr", DllStructGetPtr($TDATA))
Return SetError($ARESULT[0] = 0, 0, DllStructGetData($TDATA, "LUID"))
EndFunc
Func _SECURITY__OPENPROCESSTOKEN($HPROCESS, $IACCESS)
Local $ARESULT
$ARESULT = DllCall("Advapi32.dll", "int", "OpenProcessToken", "hwnd", $HPROCESS, "dword", $IACCESS, "int*", 0)
Return SetError($ARESULT[0], 0, $ARESULT[3])
EndFunc
Func _SECURITY__OPENTHREADTOKEN($IACCESS, $HTHREAD = 0, $FOPENASSELF = False)
Local $TDATA, $PTOKEN, $ARESULT
If $HTHREAD = 0 Then $HTHREAD = _WINAPI_GETCURRENTTHREAD()
$TDATA = DllStructCreate("int Token")
$PTOKEN = DllStructGetPtr($TDATA, "Token")
$ARESULT = DllCall("Advapi32.dll", "int", "OpenThreadToken", "int", $HTHREAD, "int", $IACCESS, "int", $FOPENASSELF, "ptr", $PTOKEN)
Return SetError($ARESULT[0] = 0, 0, DllStructGetData($TDATA, "Token"))
EndFunc
Func _SECURITY__OPENTHREADTOKENEX($IACCESS, $HTHREAD = 0, $FOPENASSELF = False)
Local $HTOKEN
$HTOKEN = _SECURITY__OPENTHREADTOKEN($IACCESS, $HTHREAD, $FOPENASSELF)
If $HTOKEN = 0 Then
If _WINAPI_GETLASTERROR() = $ERROR_NO_TOKEN Then
If Not _SECURITY__IMPERSONATESELF() Then Return SetError(-1, _WINAPI_GETLASTERROR(), 0)
$HTOKEN = _SECURITY__OPENTHREADTOKEN($IACCESS, $HTHREAD, $FOPENASSELF)
If $HTOKEN = 0 Then Return SetError(-2, _WINAPI_GETLASTERROR(), 0)
Else
Return SetError(-3, _WINAPI_GETLASTERROR(), 0)
EndIf
EndIf
Return SetError(0, 0, $HTOKEN)
EndFunc
Func _SECURITY__SETPRIVILEGE($HTOKEN, $SPRIVILEGE, $FENABLE)
Local $PREQUIRED, $TREQUIRED, $ILUID, $IATTRIBUTES, $ICURRSTATE, $PCURRSTATE, $TCURRSTATE, $IPREVSTATE, $PPREVSTATE, $TPREVSTATE
$ILUID = _SECURITY__LOOKUPPRIVILEGEVALUE("", $SPRIVILEGE)
If $ILUID = 0 Then Return SetError(-1, 0, False)
$TCURRSTATE = DllStructCreate($TAGTOKEN_PRIVILEGES)
$PCURRSTATE = DllStructGetPtr($TCURRSTATE)
$ICURRSTATE = DllStructGetSize($TCURRSTATE)
$TPREVSTATE = DllStructCreate($TAGTOKEN_PRIVILEGES)
$PPREVSTATE = DllStructGetPtr($TPREVSTATE)
$IPREVSTATE = DllStructGetSize($TPREVSTATE)
$TREQUIRED = DllStructCreate("int Data")
$PREQUIRED = DllStructGetPtr($TREQUIRED)
DllStructSetData($TCURRSTATE, "Count", 1)
DllStructSetData($TCURRSTATE, "LUID", $ILUID)
If Not _SECURITY__ADJUSTTOKENPRIVILEGES($HTOKEN, False, $PCURRSTATE, $ICURRSTATE, $PPREVSTATE, $PREQUIRED) Then
Return SetError(-2, @error, False)
EndIf
DllStructSetData($TPREVSTATE, "Count", 1)
DllStructSetData($TPREVSTATE, "LUID", $ILUID)
$IATTRIBUTES = DllStructGetData($TPREVSTATE, "Attributes")
If $FENABLE Then
$IATTRIBUTES = BitOR($IATTRIBUTES, $SE_PRIVILEGE_ENABLED)
Else
$IATTRIBUTES = BitAND($IATTRIBUTES, BitNOT($SE_PRIVILEGE_ENABLED))
EndIf
DllStructSetData($TPREVSTATE, "Attributes", $IATTRIBUTES)
If Not _SECURITY__ADJUSTTOKENPRIVILEGES($HTOKEN, False, $PPREVSTATE, $IPREVSTATE, $PCURRSTATE, $PREQUIRED) Then
Return SetError(-3, @error, False)
EndIf
Return SetError(0, 0, True)
EndFunc
Func _SECURITY__SIDTOSTRINGSID($PSID)
Local $TPTR, $TBUFFER, $SSID, $ARESULT
If Not _SECURITY__ISVALIDSID($PSID) Then Return SetError(-1, 0, "")
$TPTR = DllStructCreate("ptr Buffer")
$ARESULT = DllCall("AdvAPI32.dll", "int", "ConvertSidToStringSid", "ptr", $PSID, "ptr", DllStructGetPtr($TPTR))
If $ARESULT[0] = 0 Then Return SetError(-2, 0, "")
$TBUFFER = DllStructCreate("char Text[256]", DllStructGetData($TPTR, "Buffer"))
$SSID = DllStructGetData($TBUFFER, "Text")
_WINAPI_LOCALFREE(DllStructGetData($TPTR, "Buffer"))
Return $SSID
EndFunc
Func _SECURITY__SIDTYPESTR($ITYPE)
Switch $ITYPE
Case 1
Return "User"
Case 2
Return "Group"
Case 3
Return "Domain"
Case 4
Return "Alias"
Case 5
Return "Well Known Group"
Case 6
Return "Deleted Account"
Case 7
Return "Invalid"
Case 8
Return "Invalid"
Case 9
Return "Computer"
Case Else
Return "Unknown SID Type"
EndSwitch
EndFunc
Func _SECURITY__STRINGSIDTOSID($SSID)
Local $TPTR, $ISIZE, $TBUFFER, $TSID, $ARESULT
$TPTR = DllStructCreate("ptr Buffer")
$ARESULT = DllCall("AdvAPI32.dll", "int", "ConvertStringSidToSid", "str", $SSID, "ptr", DllStructGetPtr($TPTR))
If $ARESULT = 0 Then Return SetError(-1, 0, 0)
$ISIZE = _SECURITY__GETLENGTHSID(DllStructGetData($TPTR, "Buffer"))
$TBUFFER = DllStructCreate("byte Data[" & $ISIZE & "]", DllStructGetData($TPTR, "Buffer"))
$TSID = DllStructCreate("byte Data[" & $ISIZE & "]")
DllStructSetData($TSID, "Data", DllStructGetData($TBUFFER, "Data"))
_WINAPI_LOCALFREE(DllStructGetData($TPTR, "Buffer"))
Return $TSID
EndFunc
Func _SENDMESSAGE($HWND, $IMSG, $WPARAM = 0, $LPARAM = 0, $IRETURN = 0, $WPARAMTYPE = "wparam", $LPARAMTYPE = "lparam", $SRETURNTYPE = "lparam")
Local $ARESULT = DllCall("user32.dll", $SRETURNTYPE, "SendMessage", "hwnd", $HWND, "int", $IMSG, $WPARAMTYPE, $WPARAM, $LPARAMTYPE, $LPARAM)
If @error Then Return SetError(@error, @extended, "")
If $IRETURN >= 0 And $IRETURN <= 4 Then Return $ARESULT[$IRETURN]
Return $ARESULT
EndFunc
Func _SENDMESSAGEA($HWND, $IMSG, $WPARAM = 0, $LPARAM = 0, $IRETURN = 0, $WPARAMTYPE = "wparam", $LPARAMTYPE = "lparam", $SRETURNTYPE = "lparam")
Local $ARESULT = DllCall("user32.dll", $SRETURNTYPE, "SendMessageA", "hwnd", $HWND, "int", $IMSG, $WPARAMTYPE, $WPARAM, $LPARAMTYPE, $LPARAM)
If @error Then Return SetError(@error, @extended, "")
If $IRETURN >= 0 And $IRETURN <= 4 Then Return $ARESULT[$IRETURN]
Return $ARESULT
EndFunc
Global $WINAPI_GAINPROCESS[64][2] = [[0, 0]]
Global $WINAPI_GAWINLIST[64][2] = [[0, 0]]
Global Const $__WINAPCONSTANT_WM_SETFONT = 48
Global Const $__WINAPCONSTANT_FW_NORMAL = 400
Global Const $__WINAPCONSTANT_DEFAULT_CHARSET = 1
Global Const $__WINAPCONSTANT_OUT_DEFAULT_PRECIS = 0
Global Const $__WINAPCONSTANT_CLIP_DEFAULT_PRECIS = 0
Global Const $__WINAPCONSTANT_DEFAULT_QUALITY = 0
Global Const $__WINAPCONSTANT_FORMAT_MESSAGE_FROM_SYSTEM = 4096
Global Const $__WINAPCONSTANT_TOKEN_ADJUST_PRIVILEGES = 32
Global Const $__WINAPCONSTANT_TOKEN_QUERY = 8
Global Const $__WINAPCONSTANT_LOGPIXELSX = 88
Global Const $__WINAPCONSTANT_LOGPIXELSY = 90
Global Const $__WINAPCONSTANT_FLASHW_CAPTION = 1
Global Const $__WINAPCONSTANT_FLASHW_TRAY = 2
Global Const $__WINAPCONSTANT_FLASHW_TIMER = 4
Global Const $__WINAPCONSTANT_FLASHW_TIMERNOFG = 12
Global Const $__WINAPCONSTANT_GW_HWNDNEXT = 2
Global Const $__WINAPCONSTANT_GW_CHILD = 5
Global Const $__WINAPCONSTANT_DI_MASK = 1
Global Const $__WINAPCONSTANT_DI_IMAGE = 2
Global Const $__WINAPCONSTANT_DI_NORMAL = 3
Global Const $__WINAPCONSTANT_DI_COMPAT = 4
Global Const $__WINAPCONSTANT_DI_DEFAULTSIZE = 8
Global Const $__WINAPCONSTANT_DI_NOMIRROR = 16
Global Const $__WINAPCONSTANT_DISPLAY_DEVICE_ATTACHED_TO_DESKTO P = 1
Global Const $__WINAPCONSTANT_DISPLAY_DEVICE_PRIMARY_DEVICE = 4
Global Const $__WINAPCONSTANT_DISPLAY_DEVICE_MIRRORING_DRIVER = 8
Global Const $__WINAPCONSTANT_DISPLAY_DEVICE_VGA_COMPATIBLE = 16
Global Const $__WINAPCONSTANT_DISPLAY_DEVICE_REMOVABLE = 32
Global Const $__WINAPCONSTANT_DISPLAY_DEVICE_MODESPRUNED = 134217728
Global Const $__WINAPCONSTANT_CREATE_NEW = 1
Global Const $__WINAPCONSTANT_CREATE_ALWAYS = 2
Global Const $__WINAPCONSTANT_OPEN_EXISTING = 3
Global Const $__WINAPCONSTANT_OPEN_ALWAYS = 4
Global Const $__WINAPCONSTANT_TRUNCATE_EXISTING = 5
Global Const $__WINAPCONSTANT_FILE_ATTRIBUTE_READONLY = 1
Global Const $__WINAPCONSTANT_FILE_ATTRIBUTE_HIDDEN = 2
Global Const $__WINAPCONSTANT_FILE_ATTRIBUTE_SYSTEM = 4
Global Const $__WINAPCONSTANT_FILE_ATTRIBUTE_ARCHIVE = 32
Global Const $__WINAPCONSTANT_FILE_SHARE_READ = 1
Global Const $__WINAPCONSTANT_FILE_SHARE_WRITE = 2
Global Const $__WINAPCONSTANT_FILE_SHARE_DELETE = 4
Global Const $__WINAPCONSTANT_GENERIC_EXECUTE = 536870912
Global Const $__WINAPCONSTANT_GENERIC_WRITE = 1073741824
Global Const $__WINAPCONSTANT_GENERIC_READ = -2147483648
Global Const $NULL_BRUSH = 5
Global Const $NULL_PEN = 8
Global Const $BLACK_BRUSH = 4
Global Const $DKGRAY_BRUSH = 3
Global Const $DC_BRUSH = 18
Global Const $GRAY_BRUSH = 2
Global Const $HOLLOW_BRUSH = $NULL_BRUSH
Global Const $LTGRAY_BRUSH = 1
Global Const $WHITE_BRUSH = 0
Global Const $BLACK_PEN = 7
Global Const $DC_PEN = 19
Global Const $WHITE_PEN = 6
Global Const $ANSI_FIXED_FONT = 11
Global Const $ANSI_VAR_FONT = 12
Global Const $DEVICE_DEFAULT_FONT = 14
Global Const $DEFAULT_GUI_FONT = 17
Global Const $OEM_FIXED_FONT = 10
Global Const $SYSTEM_FONT = 13
Global Const $SYSTEM_FIXED_FONT = 16
Global Const $DEFAULT_PALETTE = 15
Global Const $MB_PRECOMPOSED = 1
Global Const $MB_COMPOSITE = 2
Global Const $MB_USEGLYPHCHARS = 4
Global Const $ULW_ALPHA = 2
Global Const $ULW_COLORKEY = 1
Global Const $ULW_OPAQUE = 4
Global Const $WH_CALLWNDPROC = 4
Global Const $WH_CALLWNDPROCRET = 12
Global Const $WH_CBT = 5
Global Const $WH_DEBUG = 9
Global Const $WH_FOREGROUNDIDLE = 11
Global Const $WH_GETMESSAGE = 3
Global Const $WH_JOURNALPLAYBACK = 1
Global Const $WH_JOURNALRECORD = 0
Global Const $WH_KEYBOARD = 2
Global Const $WH_KEYBOARD_LL = 13
Global Const $WH_MOUSE = 7
Global Const $WH_MOUSE_LL = 14
Global Const $WH_MSGFILTER = -1
Global Const $WH_SHELL = 10
Global Const $WH_SYSMSGFILTER = 6
Global Const $KF_EXTENDED = 256
Global Const $KF_ALTDOWN = 8192
Global Const $KF_UP = 32768
Global Const $LLKHF_EXTENDED = BitShift($KF_EXTENDED, 8)
Global Const $LLKHF_INJECTED = 16
Global Const $LLKHF_ALTDOWN = BitShift($KF_ALTDOWN, 8)
Global Const $LLKHF_UP = BitShift($KF_UP, 8)
Global Const $OFN_ALLOWMULTISELECT = 512
Global Const $OFN_CREATEPROMPT = 8192
Global Const $OFN_DONTADDTORECENT = 33554432
Global Const $OFN_ENABLEHOOK = 32
Global Const $OFN_ENABLEINCLUDENOTIFY = 4194304
Global Const $OFN_ENABLESIZING = 8388608
Global Const $OFN_ENABLETEMPLATE = 64
Global Const $OFN_ENABLETEMPLATEHANDLE = 128
Global Const $OFN_EXPLORER = 524288
Global Const $OFN_EXTENSIONDIFFERENT = 1024
Global Const $OFN_FILEMUSTEXIST = 4096
Global Const $OFN_FORCESHOWHIDDEN = 268435456
Global Const $OFN_HIDEREADONLY = 4
Global Const $OFN_LONGNAMES = 2097152
Global Const $OFN_NOCHANGEDIR = 8
Global Const $OFN_NODEREFERENCELINKS = 1048576
Global Const $OFN_NOLONGNAMES = 262144
Global Const $OFN_NONETWORKBUTTON = 131072
Global Const $OFN_NOREADONLYRETURN = 32768
Global Const $OFN_NOTESTFILECREATE = 65536
Global Const $OFN_NOVALIDATE = 256
Global Const $OFN_OVERWRITEPROMPT = 2
Global Const $OFN_PATHMUSTEXIST = 2048
Global Const $OFN_READONLY = 1
Global Const $OFN_SHAREAWARE = 16384
Global Const $OFN_SHOWHELP = 16
Global Const $OFN_EX_NOPLACESBAR = 1
Func _WINAPI_ATTACHCONSOLE($IPROCESSID = -1)
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "AttachConsole", "dword", $IPROCESSID)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_ATTACHTHREADINPUT($IATTACH, $IATTACHTO, $FATTACH)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "AttachThreadInput", "int", $IATTACH, "int", $IATTACHTO, "int", $FATTACH)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_BEEP($IFREQ = 500, $IDURATION = 1000)
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "Beep", "dword", $IFREQ, "dword", $IDURATION)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_BITBLT($HDESTDC, $IXDEST, $IYDEST, $IWIDTH, $IHEIGHT, $HSRCDC, $IXSRC, $IYSRC, $IROP)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "int", "BitBlt", "hwnd", $HDESTDC, "int", $IXDEST, "int", $IYDEST, "int", $IWIDTH, "int", $IHEIGHT, "hwnd", $HSRCDC, "int", $IXSRC, "int", $IYSRC, "int", $IROP)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_CALLNEXTHOOKEX($HHK, $ICODE, $WPARAM, $LPARAM)
Local $IRESULT = DllCall("user32.dll", "lparam", "CallNextHookEx", "hwnd", $HHK, "int", $ICODE, "wparam", $WPARAM, "lparam", $LPARAM)
If @error Then Return SetError(@error, @extended, -1)
Return $IRESULT[0]
EndFunc
Func _WINAPI_CALLWINDOWPROC($LPPREVWNDFUNC, $HWND, $MSG, $WPARAM, $LPARAM)
Local $ARESULT
$ARESULT = DllCall("user32.dll", "int", "CallWindowProc", "ptr", $LPPREVWNDFUNC, "hwnd", $HWND, "uint", $MSG, "wparam", $WPARAM, "lparam", $LPARAM)
If @error Then Return SetError(-1, 0, -1)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CHECK($SFUNCTION, $FERROR, $VERROR, $FTRANSLATE = False)
If $FERROR Then
If $FTRANSLATE Then $VERROR = _WINAPI_GETLASTERRORMESSAGE()
_WINAPI_SHOWERROR($SFUNCTION & ": " & $VERROR)
EndIf
EndFunc
Func _WINAPI_CLIENTTOSCREEN($HWND, ByRef $TPOINT)
Local $PPOINT, $ARESULT
$PPOINT = DllStructGetPtr($TPOINT)
$ARESULT = DllCall("User32.dll", "int", "ClientToScreen", "hwnd", $HWND, "ptr", $PPOINT)
If @error Then Return SetError(@error, 0, $TPOINT)
Return SetError($ARESULT[0] <> 0, 0, $TPOINT)
EndFunc
Func _WINAPI_CLOSEHANDLE($HOBJECT)
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "CloseHandle", "int", $HOBJECT)
_WINAPI_CHECK("_WinAPI_CloseHandle", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_COMMDLGEXTENDEDERROR()
Local Const $CDERR_DIALOGFAILURE = 65535
Local Const $CDERR_FINDRESFAILURE = 6
Local Const $CDERR_INITIALIZATION = 2
Local Const $CDERR_LOADRESFAILURE = 7
Local Const $CDERR_LOADSTRFAILURE = 5
Local Const $CDERR_LOCKRESFAILURE = 8
Local Const $CDERR_MEMALLOCFAILURE = 9
Local Const $CDERR_MEMLOCKFAILURE = 10
Local Const $CDERR_NOHINSTANCE = 4
Local Const $CDERR_NOHOOK = 11
Local Const $CDERR_NOTEMPLATE = 3
Local Const $CDERR_REGISTERMSGFAIL = 12
Local Const $CDERR_STRUCTSIZE = 1
Local Const $FNERR_BUFFERTOOSMALL = 12291
Local Const $FNERR_INVALIDFILENAME = 12290
Local Const $FNERR_SUBCLASSFAILURE = 12289
Local $IRESULT = DllCall("comdlg32.dll", "dword", "CommDlgExtendedError")
If @error Then Return SetError(@error, @extended, "")
SetError($IRESULT[0])
Switch @error
Case $CDERR_DIALOGFAILURE
Return SetError(@error, 0, "The dialog box could not be created." & @LF & "The common dialog box function's call to the DialogBox function failed." & @LF & "For example, this error occurs if the common dialog box call specifies an invalid window handle.")
Case $CDERR_FINDRESFAILURE
Return SetError(@error, 0, "The common dialog box function failed to find a specified resource.")
Case $CDERR_INITIALIZATION
Return SetError(@error, 0, "The common dialog box function failed during initialization." & @LF & "This error often occurs when sufficient memory is not available.")
Case $CDERR_LOADRESFAILURE
Return SetError(@error, 0, "The common dialog box function failed to load a specified resource.")
Case $CDERR_LOADSTRFAILURE
Return SetError(@error, 0, "The common dialog box function failed to load a specified string.")
Case $CDERR_LOCKRESFAILURE
Return SetError(@error, 0, "The common dialog box function failed to lock a specified resource.")
Case $CDERR_MEMALLOCFAILURE
Return SetError(@error, 0, "The common dialog box function was unable to allocate memory for internal structures.")
Case $CDERR_MEMLOCKFAILURE
Return SetError(@error, 0, "The common dialog box function was unable to lock the memory associated with a handle.")
Case $CDERR_NOHINSTANCE
Return SetError(@error, 0, "The ENABLETEMPLATE flag was set in the Flags member of the initialization structure for the corresponding common dialog box," & @LF & "but you failed to provide a corresponding instance handle.")
Case $CDERR_NOHOOK
Return SetError(@error, 0, "The ENABLEHOOK flag was set in the Flags member of the initialization structure for the corresponding common dialog box," & @LF & "but you failed to provide a pointer to a corresponding hook procedure.")
Case $CDERR_NOTEMPLATE
Return SetError(@error, 0, "The ENABLETEMPLATE flag was set in the Flags member of the initialization structure for the corresponding common dialog box," & @LF & "but you failed to provide a corresponding template.")
Case $CDERR_REGISTERMSGFAIL
Return SetError(@error, 0, "The RegisterWindowMessage function returned an error code when it was called by the common dialog box function.")
Case $CDERR_STRUCTSIZE
Return SetError(@error, 0, "The lStructSize member of the initialization structure for the corresponding common dialog box is invalid")
Case $FNERR_BUFFERTOOSMALL
Return SetError(@error, 0, "The buffer pointed to by the lpstrFile member of the OPENFILENAME structure is too small for the file name specified by the user." & @LF & "The first two bytes of the lpstrFile buffer contain an integer value specifying the size, in TCHARs, required to receive the full name.")
Case $FNERR_INVALIDFILENAME
Return SetError(@error, 0, "A file name is invalid.")
Case $FNERR_SUBCLASSFAILURE
Return SetError(@error, 0, "An attempt to subclass a list box failed because sufficient memory was not available.")
EndSwitch
EndFunc
Func _WINAPI_COPYICON($HICON)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "hwnd", "CopyIcon", "hwnd", $HICON)
_WINAPI_CHECK("_WinAPI_CopyIcon", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATEBITMAP($IWIDTH, $IHEIGHT, $IPLANES = 1, $IBITSPERPEL = 1, $PBITS = 0)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "hwnd", "CreateBitmap", "int", $IWIDTH, "int", $IHEIGHT, "int", $IPLANES, "int", $IBITSPERPEL, "ptr", $PBITS)
_WINAPI_CHECK("_WinAPI_CreateBitmap", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATECOMPATIBLEBITMAP($HDC, $IWIDTH, $IHEIGHT)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "hwnd", "CreateCompatibleBitmap", "hwnd", $HDC, "int", $IWIDTH, "int", $IHEIGHT)
_WINAPI_CHECK("_WinAPI_CreateCompatibleBitmap", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATECOMPATIBLEDC($HDC)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "hwnd", "CreateCompatibleDC", "hwnd", $HDC)
_WINAPI_CHECK("_WinAPI_CreateCompatibleDC", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATEEVENT($PATTRIBUTES = 0, $FMANUALRESET = True, $FINITIALSTATE = True, $SNAME = "")
Local $ARESULT
If $SNAME = "" Then $SNAME = 0
$ARESULT = DllCall("Kernel32.dll", "int", "CreateEvent", "ptr", $PATTRIBUTES, "int", $FMANUALRESET, "int", $FINITIALSTATE, "str", $SNAME)
If @error Then Return SetError(@error, 0, 0)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATEFILE($SFILENAME, $ICREATION, $IACCESS = 4, $ISHARE = 0, $IATTRIBUTES = 0, $PSECURITY = 0)
Local $IDA = 0, $ISM = 0, $ICD = 0, $IFA = 0, $ARESULT
If BitAND($IACCESS, 1) <> 0 Then $IDA = BitOR($IDA, $__WINAPCONSTANT_GENERIC_EXECUTE)
If BitAND($IACCESS, 2) <> 0 Then $IDA = BitOR($IDA, $__WINAPCONSTANT_GENERIC_READ)
If BitAND($IACCESS, 4) <> 0 Then $IDA = BitOR($IDA, $__WINAPCONSTANT_GENERIC_WRITE)
If BitAND($ISHARE, 1) <> 0 Then $ISM = BitOR($ISM, $__WINAPCONSTANT_FILE_SHARE_DELETE)
If BitAND($ISHARE, 2) <> 0 Then $ISM = BitOR($ISM, $__WINAPCONSTANT_FILE_SHARE_READ)
If BitAND($ISHARE, 4) <> 0 Then $ISM = BitOR($ISM, $__WINAPCONSTANT_FILE_SHARE_WRITE)
Switch $ICREATION
Case 0
$ICD = $__WINAPCONSTANT_CREATE_NEW
Case 1
$ICD = $__WINAPCONSTANT_CREATE_ALWAYS
Case 2
$ICD = $__WINAPCONSTANT_OPEN_EXISTING
Case 3
$ICD = $__WINAPCONSTANT_OPEN_ALWAYS
Case 4
$ICD = $__WINAPCONSTANT_TRUNCATE_EXISTING
EndSwitch
If BitAND($IATTRIBUTES, 1) <> 0 Then $IFA = BitOR($IFA, $__WINAPCONSTANT_FILE_ATTRIBUTE_ARCHIVE)
If BitAND($IATTRIBUTES, 2) <> 0 Then $IFA = BitOR($IFA, $__WINAPCONSTANT_FILE_ATTRIBUTE_HIDDEN)
If BitAND($IATTRIBUTES, 4) <> 0 Then $IFA = BitOR($IFA, $__WINAPCONSTANT_FILE_ATTRIBUTE_READONLY)
If BitAND($IATTRIBUTES, 8) <> 0 Then $IFA = BitOR($IFA, $__WINAPCONSTANT_FILE_ATTRIBUTE_SYSTEM)
$ARESULT = DllCall("Kernel32.dll", "hwnd", "CreateFile", "str", $SFILENAME, "int", $IDA, "int", $ISM, "ptr", $PSECURITY, "int", $ICD, "int", $IFA, "int", 0)
If @error Then Return SetError(@error, 0, 0)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATEFONT($NHEIGHT, $NWIDTH, $NESCAPE = 0, $NORIENTN = 0, $FNWEIGHT = $__WINAPCONSTANT_FW_NORMAL, $BITALIC = False, $BUNDERLINE = False, $BSTRIKEOUT = False, $NCHARSET = $__WINAPCONSTANT_DEFAULT_CHARSET, $NOUTPUTPREC = $__WINAPCONSTANT_OUT_DEFAULT_PRECIS, $NCLIPPREC = $__WINAPCONSTANT_CLIP_DEFAULT_PRECIS, $NQUALITY = $__WINAPCONSTANT_DEFAULT_QUALITY, $NPITCH = 0, $SZFACE = "Arial")
Local $TBUFFER = DllStructCreate("char FontName[" & StringLen($SZFACE) + 1 & "]")
Local $PBUFFER = DllStructGetPtr($TBUFFER)
Local $AFONT
DllStructSetData($TBUFFER, "FontName", $SZFACE)
$AFONT = DllCall("gdi32.dll", "hwnd", "CreateFont", "int", $NHEIGHT, "int", $NWIDTH, "int", $NESCAPE, "int", $NORIENTN, "int", $FNWEIGHT, "long", $BITALIC, "long", $BUNDERLINE, "long", $BSTRIKEOUT, "long", $NCHARSET, "long", $NOUTPUTPREC, "long", $NCLIPPREC, "long", $NQUALITY, "long", $NPITCH, "ptr", $PBUFFER)
If @error Then Return SetError(@error, 0, 0)
Return $AFONT[0]
EndFunc
Func _WINAPI_CREATEFONTINDIRECT($TLOGFONT)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "hwnd", "CreateFontIndirect", "ptr", DllStructGetPtr($TLOGFONT))
If @error Then Return SetError(@error, 0, 0)
Return $ARESULT[0]
EndFunc
Func _WINAPI_CREATEPROCESS($SAPPNAME, $SCOMMAND, $PSECURITY, $PTHREAD, $FINHERIT, $IFLAGS, $PENVIRON, $SDIR, $PSTARTUPINFO, $PPROCESS)
Local $PAPPNAME, $TAPPNAME, $PCOMMAND, $TCOMMAND, $PDIR, $TDIR, $ARESULT
If $SAPPNAME <> "" Then
$TAPPNAME = DllStructCreate("char Text[" & StringLen($SAPPNAME) + 1 & "]")
$PAPPNAME = DllStructGetPtr($TAPPNAME)
DllStructSetData($TAPPNAME, "Text", $SAPPNAME)
EndIf
If $SCOMMAND <> "" Then
$TCOMMAND = DllStructCreate("char Text[" & StringLen($SCOMMAND) + 1 & "]")
$PCOMMAND = DllStructGetPtr($TCOMMAND)
DllStructSetData($TCOMMAND, "Text", $SCOMMAND)
EndIf
If $SDIR <> "" Then
$TDIR = DllStructCreate("char Text[" & StringLen($SDIR) + 1 & "]")
$PDIR = DllStructGetPtr($TDIR)
DllStructSetData($TDIR, "Text", $SDIR)
EndIf
$ARESULT = DllCall("Kernel32.dll", "int", "CreateProcess", "ptr", $PAPPNAME, "ptr", $PCOMMAND, "ptr", $PSECURITY, "ptr", $PTHREAD, "int", $FINHERIT, "int", $IFLAGS, "ptr", $PENVIRON, "ptr", $PDIR, "ptr", $PSTARTUPINFO, "ptr", $PPROCESS)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_CREATESOLIDBITMAP($HWND, $ICOLOR, $IWIDTH, $IHEIGHT)
Local $II, $ISIZE, $TBITS, $TBMI, $HDC, $HBMP
$ISIZE = $IWIDTH * $IHEIGHT
$TBITS = DllStructCreate("int[" & $ISIZE & "]")
For $II = 1 To $ISIZE
DllStructSetData($TBITS, 1, $ICOLOR, $II)
Next
$TBMI = DllStructCreate($TAGBITMAPINFO)
DllStructSetData($TBMI, "Size", DllStructGetSize($TBMI) - 4)
DllStructSetData($TBMI, "Planes", 1)
DllStructSetData($TBMI, "BitCount", 32)
DllStructSetData($TBMI, "Width", $IWIDTH)
DllStructSetData($TBMI, "Height", $IHEIGHT)
$HDC = _WINAPI_GETDC($HWND)
$HBMP = _WINAPI_CREATECOMPATIBLEBITMAP($HDC, $IWIDTH, $IHEIGHT)
_WINAPI_SETDIBITS(0, $HBMP, 0, $IHEIGHT, DllStructGetPtr($TBITS), DllStructGetPtr($TBMI))
_WINAPI_RELEASEDC($HWND, $HDC)
Return $HBMP
EndFunc
Func _WINAPI_CREATESOLIDBRUSH($NCOLOR)
Local $HBRUSH = DllCall("gdi32.dll", "hwnd", "CreateSolidBrush", "int", $NCOLOR)
If @error Then Return SetError(@error, 0, 0)
Return $HBRUSH[0]
EndFunc
Func _WINAPI_CREATEWINDOWEX($IEXSTYLE, $SCLASS, $SNAME, $ISTYLE, $IX, $IY, $IWIDTH, $IHEIGHT, $HPARENT, $HMENU = 0, $HINSTANCE = 0, $PPARAM = 0)
Local $ARESULT
If $HINSTANCE = 0 Then $HINSTANCE = _WINAPI_GETMODULEHANDLE("")
$ARESULT = DllCall("User32.dll", "hwnd", "CreateWindowEx", "int", $IEXSTYLE, "str", $SCLASS, "str", $SNAME, "int", $ISTYLE, "int", $IX, "int", $IY, "int", $IWIDTH, "int", $IHEIGHT, "hwnd", $HPARENT, "hwnd", $HMENU, "hwnd", $HINSTANCE, "ptr", $PPARAM)
_WINAPI_CHECK("_WinAPI_CreateWindowEx", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0]
EndFunc
Func _WINAPI_DEFWINDOWPROC($HWND, $IMSG, $IWPARAM, $ILPARAM)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "DefWindowProc", "hwnd", $HWND, "int", $IMSG, "int", $IWPARAM, "int", $ILPARAM)
If @error Then Return SetError(@error, 0, 0)
Return $ARESULT[0]
EndFunc
Func _WINAPI_DELETEDC($HDC)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "int", "DeleteDC", "hwnd", $HDC)
_WINAPI_CHECK("_WinAPI_DeleteDC", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_DELETEOBJECT($HOBJECT)
Local $ARESULT
$ARESULT = DllCall("GDI32.dll", "int", "DeleteObject", "int", $HOBJECT)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_DESTROYICON($HICON)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "DestroyIcon", "hwnd", $HICON)
_WINAPI_CHECK("_WinAPI_DestroyIcon", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_DESTROYWINDOW($HWND)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "DestroyWindow", "hwnd", $HWND)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_DRAWEDGE($HDC, $PTRRECT, $NEDGETYPE, $GRFFLAGS)
Local $BRESULT = DllCall("user32.dll", "int", "DrawEdge", "hwnd", $HDC, "ptr", $PTRRECT, "int", $NEDGETYPE, "int", $GRFFLAGS)
If @error Then Return SetError(@error, 0, False)
Return $BRESULT[0] <> 0
EndFunc
Func _WINAPI_DRAWFRAMECONTROL($HDC, $PTRRECT, $NTYPE, $NSTATE)
Local $BRESULT = DllCall("user32.dll", "int", "DrawFrameControl", "hwnd", $HDC, "ptr", $PTRRECT, "int", $NTYPE, "int", $NSTATE)
If @error Then Return SetError(@error, 0, False)
Return $BRESULT[0] <> 0
EndFunc
Func _WINAPI_DRAWICON($HDC, $IX, $IY, $HICON)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "DrawIcon", "hwnd", $HDC, "int", $IX, "int", $IY, "hwnd", $HICON)
_WINAPI_CHECK("_WinAPI_DrawIcon", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_DRAWICONEX($HDC, $IX, $IY, $HICON, $IWIDTH = 0, $IHEIGHT = 0, $ISTEP = 0, $HBRUSH = 0, $IFLAGS = 3)
Local $IOPTIONS, $ARESULT
Switch $IFLAGS
Case 1
$IOPTIONS = $__WINAPCONSTANT_DI_MASK
Case 2
$IOPTIONS = $__WINAPCONSTANT_DI_IMAGE
Case 3
$IOPTIONS = $__WINAPCONSTANT_DI_NORMAL
Case 4
$IOPTIONS = $__WINAPCONSTANT_DI_COMPAT
Case 5
$IOPTIONS = $__WINAPCONSTANT_DI_DEFAULTSIZE
Case Else
$IOPTIONS = $__WINAPCONSTANT_DI_NOMIRROR
EndSwitch
$ARESULT = DllCall("User32.dll", "int", "DrawIconEx", "hwnd", $HDC, "int", $IX, "int", $IY, "hwnd", $HICON, "int", $IWIDTH, "int", $IHEIGHT, "uint", $ISTEP, "hwnd", $HBRUSH, "uint", $IOPTIONS)
_WINAPI_CHECK("_WinAPI_DrawIconEx", ($ARESULT[0] = 0), 0, True)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_DRAWTEXT($HDC, $STEXT, ByRef $TRECT, $IFLAGS)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "DrawText", "hwnd", $HDC, "str", $STEXT, "int", -1, "ptr", DllStructGetPtr($TRECT), "int", $IFLAGS)
If @error Then Return SetError(@error, 0, 0)
Return $ARESULT[0]
EndFunc
Func _WINAPI_ENABLEWINDOW($HWND, $FENABLE = True)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "EnableWindow", "hwnd", $HWND, "int", $FENABLE)
If @error Then Return SetError(@error, 0, False)
Return $ARESULT[0]
EndFunc
Func _WINAPI_ENUMDISPLAYDEVICES($SDEVICE, $IDEVNUM)
Local $PNAME, $TNAME, $IDEVICE, $PDEVICE, $TDEVICE, $IN, $IFLAGS, $ARESULT, $ADEVICE[5]
If $SDEVICE <> "" Then
$TNAME = DllStructCreate("char Text[128]")
$PNAME = DllStructGetPtr($TNAME)
DllStructSetData($TNAME, "Text", $SDEVICE)
EndIf
$TDEVICE = DllStructCreate($TAGDISPLAY_DEVICE)
$PDEVICE = DllStructGetPtr($TDEVICE)
$IDEVICE = DllStructGetSize($TDEVICE)
DllStructSetData($TDEVICE, "Size", $IDEVICE)
$ARESULT = DllCall("User32.dll", "int", "EnumDisplayDevices", "ptr", $PNAME, "int", $IDEVNUM, "ptr", $PDEVICE, "int", 1)
If @error Then Return SetError(@error, 0, $ADEVICE)
$IN = DllStructGetData($TDEVICE, "Flags")
If BitAND($IN, $__WINAPCONSTANT_DISPLAY_DEVICE_ATTACHED_TO_DESKTO P) <> 0 Then $IFLAGS = BitOR($IFLAGS, 1)
If BitAND($IN, $__WINAPCONSTANT_DISPLAY_DEVICE_PRIMARY_DEVICE) <> 0 Then $IFLAGS = BitOR($IFLAGS, 2)
If BitAND($IN, $__WINAPCONSTANT_DISPLAY_DEVICE_MIRRORING_DRIVER) <> 0 Then $IFLAGS = BitOR($IFLAGS, 4)
If BitAND($IN, $__WINAPCONSTANT_DISPLAY_DEVICE_VGA_COMPATIBLE) <> 0 Then $IFLAGS = BitOR($IFLAGS, 8)
If BitAND($IN, $__WINAPCONSTANT_DISPLAY_DEVICE_REMOVABLE) <> 0 Then $IFLAGS = BitOR($IFLAGS, 16)
If BitAND($IN, $__WINAPCONSTANT_DISPLAY_DEVICE_MODESPRUNED) <> 0 Then $IFLAGS = BitOR($IFLAGS, 32)
$ADEVICE[0] = $ARESULT[0] <> 0
$ADEVICE[1] = DllStructGetData($TDEVICE, "Name")
$ADEVICE[2] = DllStructGetData($TDEVICE, "String")
$ADEVICE[3] = $IFLAGS
$ADEVICE[4] = DllStructGetData($TDEVICE, "ID")
Return $ADEVICE
EndFunc
Func _WINAPI_ENUMWINDOWS($FVISIBLE = True)
_WINAPI_ENUMWINDOWSINIT()
_WINAPI_ENUMWINDOWSCHILD(_WINAPI_GETDESKTOPWINDOW( ), $FVISIBLE)
Return $WINAPI_GAWINLIST
EndFunc
Func _WINAPI_ENUMWINDOWSADD($HWND, $SCLASS = "")
Local $ICOUNT
If $SCLASS = "" Then $SCLASS = _WINAPI_GETCLASSNAME($HWND)
$WINAPI_GAWINLIST[0][0] += 1
$ICOUNT = $WINAPI_GAWINLIST[0][0]
If $ICOUNT >= $WINAPI_GAWINLIST[0][1] Then
ReDim $WINAPI_GAWINLIST[$ICOUNT + 64][2]
$WINAPI_GAWINLIST[0][1] += 64
EndIf
$WINAPI_GAWINLIST[$ICOUNT][0] = $HWND
$WINAPI_GAWINLIST[$ICOUNT][1] = $SCLASS
EndFunc
Func _WINAPI_ENUMWINDOWSCHILD($HWND, $FVISIBLE = True)
$HWND = _WINAPI_GETWINDOW($HWND, $__WINAPCONSTANT_GW_CHILD)
While $HWND <> 0
If (Not $FVISIBLE) Or _WINAPI_ISWINDOWVISIBLE($HWND) Then
_WINAPI_ENUMWINDOWSCHILD($HWND, $FVISIBLE)
_WINAPI_ENUMWINDOWSADD($HWND)
EndIf
$HWND = _WINAPI_GETWINDOW($HWND, $__WINAPCONSTANT_GW_HWNDNEXT)
WEnd
EndFunc
Func _WINAPI_ENUMWINDOWSINIT()
ReDim $WINAPI_GAWINLIST[64][2]
$WINAPI_GAWINLIST[0][0] = 0
$WINAPI_GAWINLIST[0][1] = 64
EndFunc
Func _WINAPI_ENUMWINDOWSPOPUP()
Local $HWND, $SCLASS
_WINAPI_ENUMWINDOWSINIT()
$HWND = _WINAPI_GETWINDOW(_WINAPI_GETDESKTOPWINDOW(), $__WINAPCONSTANT_GW_CHILD)
While $HWND <> 0
If _WINAPI_ISWINDOWVISIBLE($HWND) Then
$SCLASS = _WINAPI_GETCLASSNAME($HWND)
If $SCLASS = "#32768" Then
_WINAPI_ENUMWINDOWSADD($HWND)
ElseIf $SCLASS = "ToolbarWindow32" Then
_WINAPI_ENUMWINDOWSADD($HWND)
ElseIf $SCLASS = "ToolTips_Class32" Then
_WINAPI_ENUMWINDOWSADD($HWND)
ElseIf $SCLASS = "BaseBar" Then
_WINAPI_ENUMWINDOWSCHILD($HWND)
EndIf
EndIf
$HWND = _WINAPI_GETWINDOW($HWND, $__WINAPCONSTANT_GW_HWNDNEXT)
WEnd
Return $WINAPI_GAWINLIST
EndFunc
Func _WINAPI_ENUMWINDOWSTOP()
Local $HWND
_WINAPI_ENUMWINDOWSINIT()
$HWND = _WINAPI_GETWINDOW(_WINAPI_GETDESKTOPWINDOW(), $__WINAPCONSTANT_GW_CHILD)
While $HWND <> 0
If _WINAPI_ISWINDOWVISIBLE($HWND) Then _WINAPI_ENUMWINDOWSADD($HWND)
$HWND = _WINAPI_GETWINDOW($HWND, $__WINAPCONSTANT_GW_HWNDNEXT)
WEnd
Return $WINAPI_GAWINLIST
EndFunc
Func _WINAPI_EXPANDENVIRONMENTSTRINGS($SSTRING)
Local $TTEXT, $ARESULT
$TTEXT = DllStructCreate("char Text[4096]")
$ARESULT = DllCall("Kernel32.dll", "int", "ExpandEnvironmentStringsA", "str", $SSTRING, "ptr", DllStructGetPtr($TTEXT), "int", 4096)
_WINAPI_CHECK("_WinAPI_ExpandEnvironmentStrings", ($ARESULT[0] = 0), 0, True)
Return DllStructGetData($TTEXT, "Text")
EndFunc
Func _WINAPI_EXTRACTICONEX($SFILE, $IINDEX, $PLARGE, $PSMALL, $IICONS)
Local $ARESULT
$ARESULT = DllCall("Shell32.dll", "int", "ExtractIconEx", "str", $SFILE, "int", $IINDEX, "ptr", $PLARGE, "ptr", $PSMALL, "int", $IICONS)
If @error Then Return SetError(@error, 0, 0)
Return $ARESULT[0]
EndFunc
Func _WINAPI_FATALAPPEXIT($SMESSAGE)
DllCall("Kernel32.dll", "none", "FatalAppExit", "uint", 0, "str", $SMESSAGE)
EndFunc
Func _WINAPI_FILLRECT($HDC, $PTRRECT, $HBRUSH)
Local $BRESULT
If IsHWnd($HBRUSH) Then
$BRESULT = DllCall("user32.dll", "int", "FillRect", "hwnd", $HDC, "ptr", $PTRRECT, "hwnd", $HBRUSH)
Else
$BRESULT = DllCall("user32.dll", "int", "FillRect", "hwnd", $HDC, "ptr", $PTRRECT, "int", $HBRUSH)
EndIf
If @error Then Return SetError(@error, 0, False)
Return $BRESULT[0] <> 0
EndFunc
Func _WINAPI_FINDEXECUTABLE($SFILENAME, $SDIRECTORY = "")
Local $TTEXT
$TTEXT = DllStructCreate("char Text[4096]")
DllCall("Shell32.dll", "hwnd", "FindExecutable", "str", $SFILENAME, "str", $SDIRECTORY, "ptr", DllStructGetPtr($TTEXT))
Return DllStructGetData($TTEXT, "Text")
EndFunc
Func _WINAPI_FINDWINDOW($SCLASSNAME, $SWINDOWNAME)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "hwnd", "FindWindow", "str", $SCLASSNAME, "str", $SWINDOWNAME)
Return $ARESULT[0]
EndFunc
Func _WINAPI_FLASHWINDOW($HWND, $FINVERT = True)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "FlashWindow", "hwnd", $HWND, "int", $FINVERT)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_FLASHWINDOWEX($HWND, $IFLAGS = 3, $ICOUNT = 3, $ITIMEOUT = 0)
Local $IMODE = 0, $IFLASH, $PFLASH, $TFLASH, $ARESULT
$TFLASH = DllStructCreate($TAGFLASHWINDOW)
$PFLASH = DllStructGetPtr($TFLASH)
$IFLASH = DllStructGetSize($TFLASH)
If BitAND($IFLAGS, 1) <> 0 Then $IMODE = BitOR($IMODE, $__WINAPCONSTANT_FLASHW_CAPTION)
If BitAND($IFLAGS, 2) <> 0 Then $IMODE = BitOR($IMODE, $__WINAPCONSTANT_FLASHW_TRAY)
If BitAND($IFLAGS, 4) <> 0 Then $IMODE = BitOR($IMODE, $__WINAPCONSTANT_FLASHW_TIMER)
If BitAND($IFLAGS, 8) <> 0 Then $IMODE = BitOR($IMODE, $__WINAPCONSTANT_FLASHW_TIMERNOFG)
DllStructSetData($TFLASH, "Size", $IFLASH)
DllStructSetData($TFLASH, "hWnd", $HWND)
DllStructSetData($TFLASH, "Flags", $IMODE)
DllStructSetData($TFLASH, "Count", $ICOUNT)
DllStructSetData($TFLASH, "Timeout", $ITIMEOUT)
$ARESULT = DllCall("User32.dll", "int", "FlashWindowEx", "ptr", $PFLASH)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_FLOATTOINT($NFLOAT)
Local $TFLOAT, $TINT
$TFLOAT = DllStructCreate("float")
$TINT = DllStructCreate("int", DllStructGetPtr($TFLOAT))
DllStructSetData($TFLOAT, 1, $NFLOAT)
Return DllStructGetData($TINT, 1)
EndFunc
Func _WINAPI_FLUSHFILEBUFFERS($HFILE)
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "FlushFileBuffers", "hwnd", $HFILE)
Return SetError(_WINAPI_GETLASTERROR(), 0, $ARESULT[0] <> 0)
EndFunc
Func _WINAPI_FORMATMESSAGE($IFLAGS, $PSOURCE, $IMESSAGEID, $ILANGUAGEID, $PBUFFER, $ISIZE, $VARGUMENTS)
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "FormatMessageA", "int", $IFLAGS, "hwnd", $PSOURCE, "int", $IMESSAGEID, "int", $ILANGUAGEID, "ptr", $PBUFFER, "int", $ISIZE, "ptr", $VARGUMENTS)
Return $ARESULT[0]
EndFunc
Func _WINAPI_FRAMERECT($HDC, $PTRRECT, $HBRUSH)
Local $BRESULT = DllCall("user32.dll", "int", "FrameRect", "hwnd", $HDC, "ptr", $PTRRECT, "hwnd", $HBRUSH)
If @error Then Return SetError(@error, 0, False)
Return $BRESULT[0] <> 0
EndFunc
Func _WINAPI_FREELIBRARY($HMODULE)
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "hwnd", "FreeLibrary", "hwnd", $HMODULE)
Return $ARESULT[0] <> 0
EndFunc
Func _WINAPI_GETANCESTOR($HWND, $IFLAGS = 1)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "hwnd", "GetAncestor", "hwnd", $HWND, "uint", $IFLAGS)
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETASYNCKEYSTATE($IKEY)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "int", "GetAsyncKeyState", "int", $IKEY)
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETCLASSNAME($HWND)
Local $ARESULT
If Not IsHWnd($HWND) Then $HWND = GUICtrlGetHandle($HWND)
$ARESULT = DllCall("User32.dll", "int", "GetClassName", "hwnd", $HWND, "str", "", "int", 4096)
Return $ARESULT[2]
EndFunc
Func _WINAPI_GETCLIENTHEIGHT($HWND)
Local $TRECT
$TRECT = _WINAPI_GETCLIENTRECT($HWND)
Return DllStructGetData($TRECT, "Bottom") - DllStructGetData($TRECT, "Top")
EndFunc
Func _WINAPI_GETCLIENTWIDTH($HWND)
Local $TRECT
$TRECT = _WINAPI_GETCLIENTRECT($HWND)
Return DllStructGetData($TRECT, "Right") - DllStructGetData($TRECT, "Left")
EndFunc
Func _WINAPI_GETCLIENTRECT($HWND)
Local $TRECT, $ARESULT
$TRECT = DllStructCreate($TAGRECT)
$ARESULT = DllCall("User32.dll", "int", "GetClientRect", "hwnd", $HWND, "ptr", DllStructGetPtr($TRECT))
_WINAPI_CHECK("_WinAPI_GetClientRect", ($ARESULT[0] = 0), 0, True)
Return $TRECT
EndFunc
Func _WINAPI_GETCURRENTPROCESS()
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "hwnd", "GetCurrentProcess")
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETCURRENTPROCESSID()
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "GetCurrentProcessId")
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETCURRENTTHREAD()
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "GetCurrentThread")
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETCURRENTTHREADID()
Local $ARESULT
$ARESULT = DllCall("Kernel32.dll", "int", "GetCurrentThreadId")
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETCURSORINFO()
Local $ICURSOR, $TCURSOR, $ARESULT, $ACURSOR[5]
$TCURSOR = DllStructCreate($TAGCURSORINFO)
$ICURSOR = DllStructGetSize($TCURSOR)
DllStructSetData($TCURSOR, "Size", $ICURSOR)
$ARESULT = DllCall("User32.dll", "int", "GetCursorInfo", "ptr", DllStructGetPtr($TCURSOR))
_WINAPI_CHECK("_WinAPI_GetCursorInfo", ($ARESULT[0] = 0), 0, True)
$ACURSOR[0] = $ARESULT[0] <> 0
$ACURSOR[1] = DllStructGetData($TCURSOR, "Flags") <> 0
$ACURSOR[2] = DllStructGetData($TCURSOR, "hCursor")
$ACURSOR[3] = DllStructGetData($TCURSOR, "X")
$ACURSOR[4] = DllStructGetData($TCURSOR, "Y")
Return $ACURSOR
EndFunc
Func _WINAPI_GETDC($HWND)
Local $ARESULT
$ARESULT = DllCall("User32.dll", "hwnd", "GetDC", "hwnd", $HWND)
_WINAPI_CHECK("_WinAPI_GetDC", ($ARESULT[0] = 0), -1)
Return $ARESULT[0]
EndFunc
Func _WINAPI_GETDESKTOPWINDOW()
Local $ARESULT
$ARESULT = DllCall("Us
|
|
|
|
07/24/2009, 19:17
|
#51
|
elite*gold: 0
Join Date: Mar 2009
Posts: 443
Received Thanks: 597
|
Quote:
Originally Posted by CSLite
that looks dangerous
|
it isnt, its exactly what a loader should do
@shikode 1337
you should decompile it with the option "do not include headerfiles"
|
|
|
07/24/2009, 20:05
|
#52
|
elite*gold: 20
Join Date: Jul 2009
Posts: 3,160
Received Thanks: 1,303
|
Quote:
Originally Posted by eLO21
He say some **** about sro_client.exe... packet, outdate etc. ^^ Not about AutoIt+keypresser...
He try scare ppl to stop play on SunSro, reason reduction lags xD
Fail ^^
|
lolkop said it not me
anyway if u wanna bot go on..its ur choose i dont even care about tht anymore lol i dont think we will be banned.
|
|
|
07/25/2009, 21:56
|
#53
|
elite*gold: 20
Join Date: Aug 2007
Posts: 1,710
Received Thanks: 1,609
|
Quote:
Originally Posted by WorldDj
lolkop said it not me
anyway if u wanna bot go on..its ur choose i dont even care about tht anymore lol i dont think we will be banned.
|
That bot is just key pressing =] it won't get you banned
|
|
|
07/25/2009, 22:52
|
#54
|
elite*gold: 0
Join Date: Jul 2008
Posts: 186
Received Thanks: 44
|
Quote:
DO NOT USE THIS BOT ANYMORE!
|
he had a prob with his auto select
he had a prob with the coded there ...
|
|
|
All times are GMT +2. The time now is 05:49.
|
|