亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unttool.pas

?? 半透明顯示在窗體上
?? PAS
?? 第 1 頁 / 共 3 頁
字號(hào):
{******************************************************************************
*   Unit untTool
*   Module is support some tools function to the main module
*   CopyRight (C) Nanjing Fujitsu Nanda SoftWare Tech. Co., LTD.
*   CopyRight (C) By GanHuaXin 2001
*   Date :
*     New Develop   : 2001-1-8
*     Modify        : 2001-1-9 
******************************************************************************}
unit untTool;

interface
uses
  Sysutils,
  Windows,
  ShellAPI,
  Messages,
  untConst;

//function InitWindow(hWnd:HWND):BOOL;
function SetTransparent(hWnd:HWND; bAlpha:byte):BOOL;
function SetWindowAllOnTop(hWnd:HWND;bOnTop:Boolean):BOOL;
function SetWindowTransparent(hWnd:HWND;bTrans:Boolean):BOOL;
function SetWindowInCenter(hWnd:HWND):BOOL;
function SetAppAtStart(bSet:Boolean):BOOL;
function GetAppAtStart:BOOL;

function TrayIconAdd(hWnd:HWND; uID:integer; hIcon:HICON; hint:String):BOOL;
function TrayIconEdit(hWnd:HWNd; uID:integer; hIcon:HICON; hint:String):BOOL;
function TrayIconDel(hWnd:HWND; uID:integer):BOOL;
function ShowOnTray(hWnd:HWND):BOOL;
function DelOnTray(hWnd:HWND):Bool;

function SetRegData(Name:string; Buffer:Pointer; BufSize:Integer):BOOL;
function GetRegData(Name:string; Buffer:Pointer; BufSize:Integer):BOOL;

function SetRegWindowPosOpt(option:integer):BOOL;
function SetRegWindowPos(hWnd : HWND):BOOL;
function SetRegAllOnTop(option : boolean):BOOL;
function SetRegTransparent(option : boolean):BOOL;
function SetRegShowTray(option : boolean):BOOL;
function SetRegClockStyle(option : integer):BOOL;
function SetRegShowOnTaskBar(option : boolean):BOOL;

function GetRegWindowPosOpt(var Option : integer):BOOL;
function GetRegWindowPos(var Value:TMyWindowPos):BOOL;
function GetRegAllOnTop(var bOnTop:Boolean):BOOL;
function GetRegTransparent(var bTrans:Boolean):BOOL;
function GetRegShowTray(var bOnTray:Boolean):BOOL;
function GetRegClockStyle(var option:integer):BOOL;
function GetRegShowOnTaskBar(var bShown : boolean):BOOL;

function RegErrorHandle(error : integer):String;

function GetPlacePos(var Pos:TMyWindowPos):BOOL;

function GetCheckBitmaps(fuCheck:UINT; menuID:integer):HBITMAP;
function SetMenuOwnerDraw(menu : HMENU; cmdID : integer):BOOL;
function DrawBmpMenu(itemMenu : DRAWITEMSTRUCT):BOOL;

function CreateRgnFromBmp(bmp : HBITMAP):HRGN;
function CreateAlfaRgn(x,y,r,Alfa,halfWidth,ArrowLen:integer):HRGN;
function CreateHourRgn(hour,minute:integer):HRGN;
function CreateMinuteRgn(minute:integer):HRGN;
function CreateSecondRgn(second:integer):HRGN;


(*
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
    stdcall; external 'KERNEL32.DLL';
*)
implementation


{******************************************************************************
*   Function SetLayeredWindowAttributes(hWnd,crKey,bAlpha,dwFlags)
*   Description :    This Function is a new function import from win2000
*       It can not work on win9x
******************************************************************************}
{
function SetLayeredWindowAttributes(
              hwnd    :HWND;        //handle aoubt the window
              crKey   :Longint;     //
              bAlpha  :byte;        //
              dwFlags :longint      //
          ):BOOL; stdcall; external user32;
}
type
  TSetLayeredWindowAttributes =
    function(hWnd:HWND;crKey:Longint;bAlphs:byte;dwFlags:LongInt):BOOL;stdcall;
{******************************************************************************
*   Function SetTransparent(hWnd,bAlpha)
*   Purpose:
*       To set the window transparent as degree by bAlpha
*   Arguments:
*       hWnd        :   Handl of the window
*       bAlpha      :   The transparent degree , range from 0 to 255
*   Return Value    :   Bool of function SetlayeredWindowAttributes
******************************************************************************}
function SetTransparent(hWnd:HWND; bAlpha:byte):BOOL;
var
  dwStyle : LongInt;
  pSetLayeredWindowAttributes:TSetLayeredWindowAttributes;
  hModule:THandle;
begin
  result := false;
  if hWnd = 0 then exit;
  dwStyle := GetWindowLong(hWnd,GWL_EXSTYLE);
  dwStyle := dwStyle or WS_EX_LAYERED;
  if SetWindowLong(hwnd,GWL_EXSTYLE,dwStyle)=0 then
    exit;
  {
  result :=
    SetLayeredWindowAttributes(hWnd,0, bAlpha, LWA_ALPHA);
  }

  hModule := LoadLibrary(user32);
  if (hModule<>0) then begin
    @pSetLayeredWindowAttributes :=
      GetProcAddress(hModule,'SetLayeredWindowAttributes');
    if (@pSetLayeredWindowAttributes <> nil) then
      result := pSetLayeredWindowAttributes(hWnd,0,bAlpha,LWA_ALPHA);
    FreeLibrary(hModule);
    pSetLayeredWindowAttributes := nil;
  end;
  if not result then
    MessageBox(GetFocus(),'Error to set tranparent!','Error!',MB_OK);
end;

function SetWindowAllOnTop(hWnd:HWND;bOnTop:Boolean):BOOL;
begin
  if bOnTop then
    SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)
  else
    SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
  result := true;
end;

function SetWindowTransparent(hWnd:HWND;bTrans:Boolean):BOOL;
begin
  if bTrans then
    SetTransparent(hWnd,160)
  else
    SetTransparent(hWnd,255);
  result := true;
end;

function SetWindowInCenter(hWnd:HWND):BOOL;
var
  ScrH,ScrW : integer;
  rect      : TRect;
  NewLeft,NewTop : integer;
begin
  ScrH := GetSystemMetrics(SM_CYFULLSCREEN);
  ScrW := GetSystemMetrics(SM_CXFULLSCREEN);
  GetWindowRect(hWnd,rect);
  NewLeft := (ScrW - (rect.Right - rect.Left)) div 2;
  NewTop := (ScrH - (rect.Bottom - rect.Top)) div 2;
  SetWindowPos(hWnd,0,NewLeft,NewTop,0,0,SWP_NOSIZE or SWP_NOZORDER);
end;

function GetAppAtStart:BOOL;
var
  key : HKEY;
  ret : integer;
  chg : DWORD;
  Buffer : string[255];
  len : DWORD;
begin
  result := false;
  key := 0;
  ret := RegCreateKeyEx(
      HKEY_LOCAL_MACHINE,
      APP_KEY_START,
      0,Nil,REG_OPTION_NON_VOLATILE,
      KEY_ALL_ACCESS,
      Nil,key,@chg);
  if (ret<>ERROR_SUCCESS) or (key=0) then exit;
  len := 255;
  try
    if RegQueryValueEx(key,M_SUBNAME,nil,nil,PByte(@Buffer),@len)
      = ERROR_SUCCESS then result := true;
  finally
    RegCloseKey(key);
  end;
end;

function SetAppAtStart(bSet:Boolean):BOOL;
var
  key : HKEY;
  ret : integer;
  chg : DWORD;
  AppStr : String;
begin
  result := false;
  key := 0;
  ret := RegCreateKeyEx(
      HKEY_LOCAL_MACHINE,
      APP_KEY_START,
      0,Nil,REG_OPTION_NON_VOLATILE,
      KEY_ALL_ACCESS,
      Nil,key,@chg);
  if (ret<>ERROR_SUCCESS) or (key=0) then exit;
  try
    if not bSet then begin
      RegDeleteValue(key,M_SUBNAME);
    end
    else begin
      AppStr := ParamStr(0);
      RegSetValueEx(key,M_SUBNAME,0,REG_SZ,PChar(AppStr),Length(AppStr));
    end;
    result := true;
  finally
    RegCloseKey(key);
  end;
end;
{******************************************************************************
*   Function TrayIconAdd(hWnd,uID,hIcon,hint);
*   Purpose:
*       To Add a Icon on System TrayIcon Area
*   Arguments:
*       hWnd    : The revieved notify message's window's handle
*       uID     : The Identify of the Icon
*       hIcon   : The Handle of the ICON shows
*       hint    : The hint information when the mouse cursor on Tray Icon
*   Return Value:
*       See Shell_NotifyIcon
*   Date        : 2001-1-9
******************************************************************************}
function TrayIconAdd(hWnd:HWND; uID:integer; hIcon:HICON; hint:String):BOOL;
var
  IconData : NOTIFYICONDATA;
begin
  if (hWnd = 0) or (hIcon = 0) then begin
    result := false;
    exit;
  end;
  with IconData do begin
    cbSize            := SizeOf(IconData);
    uCallBackMessage  := WM_TRAYICONNOTIFY;
    uFlags            := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    Wnd               := hWnd;
    StrCopy(szTip, PChar(hint));
  end;
  IconData.hIcon := hIcon;
  IconData.uID := uID;
  result :=
    Shell_NotifyIcon(NIM_ADD,@IconData);
end;

{******************************************************************************
*   Function TrayIconEdit(hWnd,uID,hIcon,hint)
*   Purpose:
*       To Modify the exist Tray Icon 's styles such as Icon or Hint string
*   Date    :
*       New Development   :   2001-1-9
*       Modified          :
******************************************************************************}
function TrayIconEdit(hWnd:HWNd; uID:integer; hIcon:HICON; hint:string):BOOL;
var
  IconData : NOTIFYICONDATA;
begin
  if (hWnd = 0) or (hIcon = 0) then begin
    result := false;
    exit;
  end;
  with IconData do begin
    cbSize            := SizeOf(IconData);
    uCallBackMessage  := WM_TRAYICONNOTIFY;
    uFlags            := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    Wnd               := hWnd;
    StrCopy(szTip, PChar(hint));
  end;
  IconData.hIcon := hIcon;
  IconData.uID := uID;
  result :=
    Shell_NotifyIcon(NIM_MODIFY,@IconData);

end;

{******************************************************************************
*   Function TrayIconDel(hWnd,uID);
*   Purpose:
*       To Delete the Identify Icon on system Tray Icon Area
*   Arguments:
*       hWnd        : The Recevied Message Window's handle
*       uID         : The Identify of Icon
*   Return Value    : See Shell_NotifyIcon
*   Date            : 2001-1-9
******************************************************************************}
function TrayIconDel(hWnd:HWND; uID:integer):BOOL;
var
  IconData : NOTIFYICONDATA;
begin
  if (hWnd = 0) then begin
    result :=false;
    exit;
  end;
  with IconData do begin
    cbSize  := SizeOf(IconData);
    Wnd     := hWnd;
  end;
  IconData.uID := uID;
  result := Shell_NotifyIcon(NIM_DELETE, @IconData);
end;

{******************************************************************************
*   Function ShouldFlash:Bool;
*   Purpose:
*       To Determing whether it's time to flash the Tray Icon ?
*       and it is only used in procedure TimerProcMain
*   Date    :   2001-1-9
******************************************************************************}
function ShouldFlash:BOOL;
begin
  result := false;
end;

{******************************************************************************
*   Procedure DoFun;
*   Purpose:
*       To Show Some Fun things on the Screen
*   Date:
*       New Develop   :   2001-01-09
*       Modified      :   2001-01-10
******************************************************************************}
procedure DoFun;
var
  dc : HDC;
  //p   : TPoint;
  //pStru:PAINTSTRUCT;
begin
  dc := GetDC(0);
  TextOut(DC,400,400,'中華人民共和國(guó)',14);
  ReleaseDC(0,dc);
end;

procedure TimerProcFlash(
                  hwnd    : HWND;         // handle to window
                  Msg     : LongWord;     // WM_TIMER message
                  idEvent : integer;      // timer identifier
                  dwTime  : integer       // current system time
                  );stdcall;forward;
{******************************************************************************
*   Function TimerProcMain(hWnd,Msg,idEvent,dwTime
*   Purpose:
*       To control whether Flash the Tray ICON
*   Date    :   @001-1-9
******************************************************************************}
procedure TimerProcMain(
                  hWnd    : HWND;
                  Msg     : LongWord;
                  idEvent : integer;
                  dwTime  : integer
                  );stdcall;
begin
  if ShouldFlash then begin  // if the tray icon should Flash
    SetTimer(hWnd,2,400,@TimerProcFlash);  // Active timer 2
    DoFun;
    KillTimer(hWnd,1);                    // And kill self
  end else
    SendMessage(0,WM_PAINT,0,0);
end;

{******************************************************************************
*   Function TimerProcFlash(hWnd,Msg,idEvent,dwTime);
*   Purpose:
*       To Flash the TrayIcon
*   Date    :   2001-1-9
*
******************************************************************************
*   Some Global Variables:
*       IconS         :   Store the Icon Resources' Name as PChar
*       IconIndex     :   To Identify the Current Shown Icon No.
*       FlashCycle    :   The Flash Cycle times
*       MaxFlashCycle :   the Max Flash Cycle times
*
******************************************************************************}
var
  IconS : Array[1..4] of PChar =
          ('ICON_TRAY1','ICON_TRAY2',

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美一区二区三区综合| 日本欧美在线观看| 国产欧美精品一区| 久久久久久久综合色一本| 精品国产亚洲在线| 久久久亚洲精品一区二区三区| 亚洲精品一区二区三区影院| 欧美tickle裸体挠脚心vk| 日韩一区二区三区观看| 欧美成人艳星乳罩| 久久久亚洲欧洲日产国码αv| 亚洲国产欧美日韩另类综合 | 精品国产欧美一区二区| 欧美变态口味重另类| 久久久久国产精品厨房| 国产精品天天看| 亚洲视频综合在线| 亚洲123区在线观看| 首页欧美精品中文字幕| 蜜桃久久精品一区二区| 国产一区 二区 三区一级| 成人一级片网址| 91在线porny国产在线看| 欧美在线一二三四区| 欧美精品一二三四| 精品免费国产一区二区三区四区| 亚洲精品一线二线三线| 中文字幕制服丝袜成人av| 亚洲午夜电影在线| 久久不见久久见中文字幕免费| 国产精品中文字幕日韩精品| 91视频91自| 日韩一区二区三区视频| 国产色91在线| 亚洲影视资源网| 蜜臀99久久精品久久久久久软件| 国产盗摄一区二区三区| 色婷婷国产精品| 日韩欧美国产一区二区三区 | 欧美国产日韩a欧美在线观看| 亚洲色图色小说| 日韩二区三区在线观看| 国产成人自拍在线| 欧美四级电影网| 2020日本不卡一区二区视频| 亚洲素人一区二区| 美女高潮久久久| 99久久免费视频.com| 91精品国产综合久久久蜜臀粉嫩| 久久九九99视频| 亚洲永久精品国产| 国产丶欧美丶日本不卡视频| 欧美日韩你懂的| 国产精品免费免费| 秋霞电影网一区二区| 成人免费视频播放| 日韩欧美国产精品| 一区二区三区欧美激情| 国产夫妻精品视频| 日韩片之四级片| 亚洲精品乱码久久久久久黑人 | 国产91精品在线观看| 欧美日韩性生活| 中文字幕的久久| 麻豆成人91精品二区三区| 99热这里都是精品| 精品免费视频.| 丝袜美腿亚洲一区二区图片| 不卡在线观看av| 欧美不卡视频一区| 亚洲成av人片一区二区三区| 成人免费看黄yyy456| 日韩精品专区在线| 亚洲成人自拍偷拍| 色综合天天性综合| 国产精品色眯眯| 国内精品第一页| 日韩欧美精品在线视频| 亚洲v精品v日韩v欧美v专区| 91丨porny丨最新| 中文字幕第一页久久| 精品无码三级在线观看视频| 欧美精品乱人伦久久久久久| 怡红院av一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| xnxx国产精品| 久久精品国产一区二区三 | 亚洲精品日韩专区silk | 国产亚洲欧美色| 久草中文综合在线| 91精品中文字幕一区二区三区| 夜夜嗨av一区二区三区网页 | 亚洲国产岛国毛片在线| 精品一区二区三区欧美| 日韩欧美在线网站| 日韩精品免费专区| 91麻豆精品国产无毒不卡在线观看| 一级女性全黄久久生活片免费| 色欲综合视频天天天| 亚洲欧洲国产日韩| 91免费看视频| 亚洲伦理在线免费看| 色欧美88888久久久久久影院| 中文字幕欧美一区| 97久久久精品综合88久久| 中文字幕在线播放不卡一区| 成人午夜电影网站| 国产精品久久久久久户外露出 | 久久久国际精品| 国产成人啪免费观看软件| 国产视频一区二区在线观看| 懂色av中文字幕一区二区三区| 国产精品视频一区二区三区不卡| 成人动漫中文字幕| 一区二区免费视频| 欧美日韩精品一区二区三区四区| 视频一区中文字幕| 精品美女一区二区| 国产精品18久久久久久久网站| 国产精品污www在线观看| 97aⅴ精品视频一二三区| 一区二区三区**美女毛片| 欧美色网一区二区| 蜜桃久久久久久| 国产午夜一区二区三区| 99re这里只有精品首页| 亚洲一区二区在线免费看| 制服丝袜在线91| 国产精品主播直播| 亚洲欧美另类在线| 3d动漫精品啪啪| 国产麻豆一精品一av一免费| 国产欧美视频一区二区| 色视频成人在线观看免| 日本成人在线看| 国产欧美日韩精品一区| 色综合 综合色| 免费观看日韩电影| 国产三区在线成人av| 色综合天天综合| 麻豆精品视频在线| 国产精品久久久久四虎| 欧美日韩电影一区| 国产aⅴ综合色| 亚洲大型综合色站| 国产亚洲欧美激情| 欧美日韩精品系列| 国产成人丝袜美腿| 三级亚洲高清视频| 国产精品嫩草影院av蜜臀| 欧美日韩免费一区二区三区| 国产精品一区二区久久精品爱涩 | 亚洲高清视频的网址| 久久综合久久综合九色| 色94色欧美sute亚洲线路二| 毛片基地黄久久久久久天堂| 亚洲欧洲一区二区三区| 日韩欧美国产一二三区| 色综合久久中文综合久久牛| 麻豆精品在线观看| 一区二区三区蜜桃| 国产午夜精品理论片a级大结局| 欧美亚日韩国产aⅴ精品中极品| 国产精品自拍三区| 日韩福利电影在线观看| 亚洲色图在线播放| 久久久三级国产网站| 欧美日本一道本在线视频| 成人黄色综合网站| 狂野欧美性猛交blacked| 亚洲激情男女视频| 国产人成亚洲第一网站在线播放| 在线不卡的av| 色久优优欧美色久优优| 成人免费毛片app| 激情小说欧美图片| 日韩成人一区二区| 亚洲一区二区三区四区在线免费观看| 欧美激情一区三区| 精品国产一区久久| 日韩一二三区视频| 欧美日韩小视频| 在线视频欧美精品| 97久久精品人人做人人爽| 国产美女精品一区二区三区| 日本91福利区| 婷婷久久综合九色国产成人| 亚洲精品国产第一综合99久久| 国产精品美女一区二区三区| 久久久91精品国产一区二区三区| 日韩欧美在线网站| 欧美一区二区三区思思人 | 一区二区三区视频在线观看| 国产欧美精品一区二区色综合 | 国产精品久久久久久久久晋中 | 狠狠色综合色综合网络| 免费精品视频最新在线| 日日摸夜夜添夜夜添国产精品| 亚洲福利电影网| 亚洲777理论|