Advertisement
Guest User

Untitled

a guest
Jan 15th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.81 KB | None | 0 0
  1. library cool;
  2.  
  3. uses
  4.   SysUtils,
  5.   Classes,
  6.   windows;
  7.  
  8. type
  9.  TmIRCDLL = packed record
  10.   mVersion : DWORD;
  11.   mHwnd    : HWND;
  12.   mKeep    : Boolean;
  13.  end;
  14. PmIRCDLL = ^TmIRCDLL;
  15.  
  16. type
  17.   TWindow = record
  18.    nome : string;
  19.    hwnd : hwnd;
  20.    Proc : pointer;
  21. end;
  22.  
  23. type TWinVersion = (wvUnknown, wvWin95, wvWin98, wvWin98SE, wvWinNT, wvWinME, wvWin2000, wvWinXP, wvWinVista) ;
  24.  
  25. var
  26.   mIRCMVOF : pointer;
  27.   mwnd_ : hwnd;
  28.   CFM: Cardinal;
  29.   win:array[0..100] of TWindow; { infos das window }
  30.  
  31.  
  32.  
  33. function GetData(data: string): pchar; { pega qualquer coisa do mirc. Ex.: $me, $dialog().hwnd etc }
  34. begin
  35.   lstrcpy(mIRCMVOF,pchar(data));
  36.   Result := mIRCMVOF;
  37. end;
  38.  function GetHwnd(Window: String): hWnd;
  39. begin
  40.   Result := strtoint(GetData('$dialog('+Window+').hwnd'));
  41.   if (IsWindow(Result)) then exit;
  42.   Result := strtoint(GetData('$window('+Window+').hwnd'));
  43.   if (IsWindow(Result)) then exit;
  44.  
  45.   Result := 0;
  46. end;
  47. function showmsg(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean): Integer; export; stdcall
  48. begin
  49.     Windows.MessageBoxA(mWnd,data,'Cool Script', MB_SYSTEMMODAL or MB_SETFOREGROUND or MB_TOPMOST or MB_ICONINFORMATION);
  50.   result := 3;
  51. end;
  52. function c_titlebar(mWnd: hWnd;aWnd: hWnd;Data: PChar;Parms: PChar;Show: Boolean;NoPause: Boolean): Integer;export;stdcall
  53. begin
  54.         setwindowtext(mWnd,data);
  55.         result:= 3;
  56. end;
  57.  
  58. function ca_titlebar(mWnd: hWnd;aWnd: hWnd;Data: PChar;Parms: PChar;Show: Boolean;NoPause: Boolean): Integer;export;stdcall
  59. begin
  60.         setwindowtext(aWnd,data);
  61.         result:= 3;
  62. end;
  63.  
  64. function c_hide(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean): Integer; export; stdcall
  65. begin
  66.   ShowWindow(mWnd, SW_HIDE);
  67.  
  68. end;
  69.  
  70. function c_show(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean): Integer; export; stdcall
  71. begin
  72.   ShowWindow(mWnd, SW_SHOW)
  73.  
  74. end;
  75.  
  76. function killtb(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean): Integer; export; stdcall
  77. begin
  78.   SetWindowLong(mWnd, GWL_STYLE, GetWindowLong(mWnd, GWL_STYLE) and (not ws_caption) and not WS_BORDER);
  79.   Result := 2;
  80. end;
  81.  
  82.   function wdb(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean): Integer; export; stdcall
  83. var
  84.   cjanela : hwnd;
  85. begin
  86.   cjanela := GetHwnd(gettok(data,' ',1));
  87.          AnimateWindow (cjanela, 1000, AW_BLEND or AW_ACTIVATE);
  88.          Result := 2;
  89.       end;
  90. function info( mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar;Show: Boolean; NoPause: Boolean ): Integer; export; stdcall;
  91. begin
  92.  strcopy(data, '/echo -a cool.dll por Doctor_Souza exclusica para CoolScript ');
  93.  result := 2;
  94. end;
  95.  
  96. exports
  97. showmsg, wdb, killtb, c_titlebar, ca_titlebar, c_show, c_hide, info;
  98.  
  99. begin
  100. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement