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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unttool.pas

?? 半透明顯示在窗體上
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
           'ICON_TRAY3','ICON_TRAY4' );
  IconIndex : integer = 1;            // Current Icon Index
  FlashCyle : integer = 1;            // the Flash Icon Cycle times
  MaxFlashCycle : integer = 4;        // max Flash Cycle times

procedure TimerProcFlash(
                  hwnd    : HWND;         // handle to window
                  Msg     : LongWord;     // WM_TIMER message
                  idEvent : integer;      // timer identifier
                  dwTime  : integer       // current system time
                  );stdcall;
var
  hIcon : THandle;
begin
  Inc(IconIndex);
  if IconIndex = 5 then begin
    IconIndex := 1;
    Inc(FlashCyle);
    if FlashCyle > MaxFlashCycle then begin
      FlashCyle := 1;
      SetTimer(hWnd,1,2000,@TimerProcMain);// Active timer 2
      KillTimer(hWnd,2);                    // Kill Self
      // And then reback the Tray Icon!
      hIcon := LoadIcon(hInstance,IconS[1]);
      TrayIconEdit(hWnd,ID_TRAYICON,hIcon,'Hello, World!');

      //SendMessage(0,WM_PAINT,0,0);
      UpdateWindow(0);

      exit;
    end;
  end;
  hIcon := LoadIcon(hInstance,IconS[IconIndex]);
  TrayIconEdit(hWnd,ID_TRAYICON,hIcon,'你有事情要做!:-)');
end;

{******************************************************************************
*   Function ShowOnTray(hWnd);
*   Purpose:
*       To Set The Icon on Tray and set the Timer
*   Arguments:
*       hWnd    :   The Handle that received messages
*   Date    :
*       New Development :   2001-01-09
*       Modified        :   2001-01-10
******************************************************************************}
function ShowOnTray(hWnd:HWND):BOOL;
var
  hIcon : THandle;
begin
  hIcon := LoadIcon(hInstance, 'ICON_TRAY1');
  Result := TrayIconAdd(hWnd,ID_TRAYICON,hIcon,'hello,world!');
  DeleteObject(hIcon);
  SetTimer(hWnd,1,2000,@TimerProcMain);
end;

{******************************************************************************
*   Function DelOnTray(hWnd)
*   Purpose:
*       To Delete the Icon on Tray Area and kill all Timers
*   Date:
*       New Development :   2001-01-09
*       Modified        :
******************************************************************************}
function DelOnTray(hWnd:HWND):Bool;
begin
  Result := TrayIconDel(hWnd,ID_TRAYICON);
  KillTimer(hWnd,1);
  KillTimer(hWnd,2);
end;

function RegErrorHandle(error : integer):String;
var
  h : PChar;
begin
  h:=StrAlloc(400);
  FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or FORMAT_MESSAGE_FROM_HMODULE,
    nil,GetLastError,5,h,400,nil);
  result := StrPas(h);
  StrDispose(h);

end;
//
//************  The Follow is some operator to Registry  **********************
//

{******************************************************************************
*   Function OpenRegData()
*   Purpose:
*       To Open the special KEY of Clock Hint Application
*   Date   :
*       New Develop : 2001-1-9
*       Modified    :
******************************************************************************}
function OpenRegData(var APP_KEY : HKEY):BOOL;
var
  chg   : DWORD;
  keyCrt: integer;
begin
  result := TRUE;
  keyCrt:= RegCreateKeyEx(
      HKEY_CURRENT_USER,
      //HKEY_LOCAL_MACHINE,
      APP_KEY_STR,
      0,Nil,REG_OPTION_NON_VOLATILE,
      KEY_ALL_ACCESS,
      Nil,APP_KEY,@chg);
  if (KeyCrt<> ERROR_SUCCESS) or (APP_KEY=0) then
    result := false;
end;

{*****************************************************************************
*   Function SetRegData
*   Purpose:
*       To set special data to my application registry data
*   Date:
*       New Develop   :   2001-1-11
*       Modified      :   2001-1-11
*   Retrun Value  :
*       True or False , identify whether the operation is Success
*****************************************************************************}
function SetRegData(Name:string; Buffer:Pointer; BufSize:Integer):BOOL;
var
  ret : integer;
  APP_KEY : HKEY;
begin
  result := false;
  if not OpenRegData(APP_KEY) then exit;
  ret := RegSetValueEx(APP_KEY, PChar(Name), 0,
            REG_BINARY, Buffer, BufSize);
  if ret = ERROR_SUCCESS then
    result := true;
  RegFlushKey(APP_KEY);
  RegCloseKey(APP_KEY);
  APP_KEY := 0;
end;

{*****************************************************************************
*   Function GetRegData
*   Purpose:
*       To get special data from my application registry data
*   Date:
*       New Develop   :   2001-1-11
*       Modified      :   2001-1-11
*   Retrun Value  :
*       True or False , identify whether the operation is Success
*****************************************************************************}
function GetRegData(Name: string;Buffer: Pointer; BufSize: Integer):BOOL;
var
  ret : integer;
  APP_KEY : HKEY;
begin
  result := false;
  if not OpenRegData(APP_KEY) then exit;
  ret := RegQueryValueEx(APP_KEY,PChar(Name),nil,nil,
            PByte(Buffer),@BufSize);
  if ret = ERROR_SUCCESS then result:=true;
  RegCloseKey(APP_KEY);
  APP_KEY := 0;
end;

{******************************************************************************
*   Function SetRegWindowPosOpt(option)
*   Purpose:
*       To save the option of window postion to registry
*   Arguments :
*       Option   : the Window Postion Option should save
*   Date      :
*       New Develop   :   2001-1-10
*       Modified      :
******************************************************************************}
function SetRegWindowPosOpt(option:integer):BOOL;
begin
  result :=
    SetRegData(APP_KEY_SUBPOSOPT,@option,SizeOf(option));
end;

function SetRegAllOnTop(option : boolean):BOOL;
begin
  result :=
    SetRegData(APP_KEY_SUBALLONTOP,@option,SizeOf(option));
end;

function SetRegTransparent(option : boolean):BOOL;
begin
  result :=
    SetRegData(APP_KEY_SUBTRANSPARENT,@option,SizeOf(option));
end;


{******************************************************************************
*   Function SetRegWindowPos(hWnd);
*   Purpose:
*       To save the special window's postion to Registry
*   Arguments:
*       hWnd    :   The Special Window's handle
*   Date    :
*       New Develop : 2001-1-9
*       Modified    :
******************************************************************************}
function SetRegWindowPos(hWnd : HWND):BOOL;
var
  Value : TMyWindowPos;
  rect  : TRect;
begin
  GetWindowRect(hWnd,rect);
  Value.Top := rect.Top;
  Value.Left := rect.Left;
  Value.Width := rect.Right - rect.Left;
  result := SetRegData(APP_KEY_SUBPOS,@Value,SizeOf(Value));
end;

function SetRegShowTray(option : boolean):BOOL;
begin
  result := SetRegData(APP_KEY_SUBSHOWTRAY,@option,SizeOf(option));
end;

function SetRegClockStyle(option : integer):BOOL;
begin
  result := SetRegData(APP_KEY_SUBCLOCKSTYLE,@option,SizeOf(option));
end;

function SetRegShowOnTaskBar(option : boolean):BOOL;
begin
  result := SetRegData(APP_KEY_SUBSHOWONTASKBAR,@option,SizeOf(option));
end;
{******************************************************************************
*   Function GetRegWindowPosOpt(var Option)
*   Purpose:
*       To get the window's postion option from registry
*   Arguments:
*       Var option  :  the return postion
*   Date    :
*       New development   : 2001-1-10
*       Modified          : 2001-1-11
******************************************************************************}
function GetRegWindowPosOpt(var Option : integer):BOOL;
begin
  result := true;
  if not GetRegData(APP_KEY_SUBPOSOPT,@Option,SizeOf(Option)) then
  begin
    Option := ID_OPTION_MIDDLECENTER;
    SetRegWindowPosOpt(Option);
  end;
end;

{******************************************************************************
*   Function GetRegWindowPos(var Valu);
*   Purpose:
*       To Get The Appliation's Window's Postion from Registry
*   Arguments:
*       the return Windows postion if it is success, or if false, the default
*       Value will be return in Value
*   Date    :
*       New Develop   :   2001-1-9
*       Modified      :   2001-1-11
******************************************************************************}
function GetRegWindowPos(var Value:TMyWindowPos):BOOL;
{var
  bmp:HBITMAP;
  bmpSize : BITMAP;}
begin
  result := true;
  if not GetRegData(APP_KEY_SUBPOS,@Value,SizeOf(Value)) then
    Value := DEFAULTPOS;
  {
  bmp := LoadBitmap(hInstance,'BITMAP_CLOCK');
  GetObject(bmp,sizeof(bmpSize),@bmpSize);
  DeleteObject(bmp);
  Value.Width := bmpSize.bmWidth;
  }
  WIN_HALF_WIDTH := Value.Width div 2;
end;

{******************************************************************************
*   Function GetPlacePos(var Pos)
*   Purpose:
*       To Adjust the window's Postoin by Pos and Postion Option
*   Arguments:
*       Var Pos: The return postion of window
*   Date    :
*       New Development :   2001-1-10
*       Modified        :   2001-1-11
******************************************************************************}
function GetPlacePos(var Pos:TMyWindowPos):BOOL;
var
  opt ,
  ScrW,
  ScrH: integer;

    function GetScreenWH(var Width,Height:integer):BOOL;
    begin
      result := true;
      Width := GetSystemMetrics(SM_CXFULLSCREEN);
      Height := GetSystemMetrics(SM_CYFULLSCREEN);
    end;

begin
  result := true;
  GetRegWindowPos(Pos);
  GetRegWindowPosOpt(opt);
  GetScreenWH(ScrW,ScrH);
  Case Opt of
    ID_OPTION_TOPLEFT:
      begin
        Pos.Top   := 0;
        Pos.Left  := 0;
      end;
    ID_OPTION_TOPCENTER:
      begin
        Pos.Top   := 0;
        Pos.Left  := (ScrW - Pos.Width) div 2;
      end;
    ID_OPTION_TOPRIGHT:
      begin
        Pos.Top   := 0;
        Pos.Left  := ScrW - Pos.Width;
      end;
    ID_OPTION_MIDDLELEFT:
      begin
        Pos.Top   := (ScrH - Pos.Width) div 2;
        Pos.Left  := 0;
      end;
    ID_OPTION_MIDDLECENTER:
      begin
        Pos.Top   := (ScrH - Pos.Width) div 2;
        Pos.Left  := (ScrW - Pos.Width) div 2;
      end;
    ID_OPTION_MIDDLERIGHT:
      begin
        Pos.Top   := (ScrH - Pos.Width) div 2;
        Pos.Left  := ScrW - Pos.Width;
      end;
    ID_OPTION_BOTTOMLEFT:
      begin
        Pos.Top   := ScrH - Pos.Width;
        Pos.Left  := 0;
      end;
    ID_OPTION_BOTTOMCENTER:
      begin
        Pos.Top   := ScrH - Pos.Width;
        Pos.Left  := (ScrW - Pos.Width) div 2;
      end;
    ID_OPTION_BOTTOMRIGHT:
      begin
        Pos.Top   := ScrH - Pos.Width;
        Pos.Left  := ScrW - Pos.Width;
      end;
    ID_OPTION_USERPLACE:
      begin
        // Autojust the position
        if Pos.Top < 0 then Pos.Top := 0;
        if Pos.Left <0 then Pos.Left := 0;
        if Pos.Top > (ScrH - Pos.Width) then
          Pos.Top := ScrH - Pos.Width;
        if Pos.Left > (ScrW - Pos.Width) then
          Pos.Left := ScrW - Pos.Width;
      end;
  end;
end;

{*****************************************************************************
*   Function GetRegAllOnTop
*   Purpose:
*       To get whether window Show All On Top is set
*   Date:
*       New Develop   :   2001-1-11
*       Modified      :   2001-1-11
*****************************************************************************}
function GetRegAllOnTop(var bOnTop:Boolean):BOOL;
begin
  result := true;
  if not GetRegData(APP_KEY_SUBALLONTOP,@bOnTop,SizeOf(bOnTop)) then
  begin
    bOnTop := True;
    SetRegAllOnTop(bOnTop);
  end;
end;

{*****************************************************************************
*   Function GetRegTransparent

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲不卡| 久久电影网站中文字幕| 亚洲精品在线一区二区| 欧美一区二区私人影院日本| 欧美精品久久久久久久多人混战| av亚洲产国偷v产偷v自拍| 高清shemale亚洲人妖| 国产激情91久久精品导航 | 波多野结衣亚洲一区| 国产精品91xxx| 从欧美一区二区三区| 国产99久久久国产精品免费看| 国产精品亚洲成人| bt7086福利一区国产| 99久久夜色精品国产网站| 色天天综合久久久久综合片| 亚洲欧美一区二区不卡| 欧美日韩久久不卡| 欧美福利一区二区| 精品美女一区二区三区| 国产人成亚洲第一网站在线播放| 国产日产欧美一区| 一区在线中文字幕| 五月天欧美精品| 韩国av一区二区三区四区| 高清在线成人网| 色婷婷精品大在线视频| 欧美理论片在线| 2024国产精品| 夜夜嗨av一区二区三区四季av| 午夜精品久久一牛影视| 国产做a爰片久久毛片| 成人av电影在线| 欧美日韩日日夜夜| 欧美变态凌虐bdsm| 国产精品伦理在线| 亚洲电影第三页| 国产精品一区二区91| 一本一道久久a久久精品| 51精品国自产在线| 国产精品免费久久久久| 亚洲高清一区二区三区| 高清shemale亚洲人妖| 欧美日韩一区二区电影| 久久久久国产精品厨房| 亚洲成人1区2区| 成人精品视频一区二区三区| 亚洲免费观看高清完整版在线观看 | 国产激情视频一区二区三区欧美| 99在线精品观看| 欧美日韩国产综合一区二区| 久久亚洲欧美国产精品乐播| 一区二区三区国产豹纹内裤在线 | 在线综合+亚洲+欧美中文字幕| 久久综合狠狠综合久久激情| 亚洲综合精品自拍| 成人18视频日本| 精品sm捆绑视频| 日本不卡高清视频| 色综合久久精品| 中文字幕一区二区在线观看| 精品在线一区二区三区| 欧美精品日日鲁夜夜添| 一区二区激情小说| 99久免费精品视频在线观看 | 成人性生交大片| 欧美大黄免费观看| 爽好久久久欧美精品| 色激情天天射综合网| 国产精品福利电影一区二区三区四区| 久久99国产精品免费网站| 欧美日本视频在线| 亚洲图片欧美色图| 色综合久久中文字幕| 亚洲女人****多毛耸耸8| jizz一区二区| 亚洲人精品一区| 91在线一区二区| 亚洲精品日韩专区silk| 91蜜桃视频在线| 亚洲素人一区二区| 国产99久久久久| 欧美国产综合色视频| 秋霞午夜鲁丝一区二区老狼| 欧美男人的天堂一二区| 亚洲成a人片在线观看中文| 色999日韩国产欧美一区二区| 亚洲免费观看在线视频| 日本国产一区二区| 亚洲国产成人av网| 欧美一区二区三区思思人| 日本欧美在线观看| 26uuuu精品一区二区| 激情图区综合网| 国产精品每日更新在线播放网址| 成人看片黄a免费看在线| 亚洲欧美日韩综合aⅴ视频| 欧美丝袜自拍制服另类| 琪琪久久久久日韩精品| 久久久久久久久久美女| 成人综合在线观看| 一区二区免费在线播放| 91精品国产91久久久久久一区二区 | 国产精品午夜免费| 91片黄在线观看| 日韩av二区在线播放| 久久久久久一二三区| 成人av免费网站| 日本不卡视频一二三区| 国产精品女主播av| 6080亚洲精品一区二区| 高清成人在线观看| 午夜不卡av免费| 国产色产综合产在线视频 | 亚洲综合免费观看高清在线观看| 91麻豆精品国产91久久久 | 麻豆专区一区二区三区四区五区| 精品99一区二区| 欧美性做爰猛烈叫床潮| 国产一区二区美女诱惑| 亚洲午夜久久久久| 国产欧美视频在线观看| 91麻豆精品国产自产在线观看一区 | 午夜精品免费在线观看| 国产精品日产欧美久久久久| 欧美人与z0zoxxxx视频| 成人伦理片在线| 精久久久久久久久久久| 亚洲精品日产精品乱码不卡| 国产目拍亚洲精品99久久精品| 欧美日韩国产a| 91免费国产在线观看| 久久99日本精品| 性做久久久久久免费观看| 亚洲天天做日日做天天谢日日欢| 欧美一级生活片| 欧美在线999| 91麻豆swag| heyzo一本久久综合| 国产福利电影一区二区三区| 日本午夜精品视频在线观看 | 日韩精品一区二区三区在线 | 国产在线播精品第三| 视频一区二区欧美| 亚洲黄色在线视频| 国产精品久久久久久久久晋中 | 久久精品国产99久久6| 偷窥少妇高潮呻吟av久久免费| 亚洲色图视频网| 国产精品久久久久久久久免费桃花 | 国产91综合网| 国产精品亚洲视频| 国产精品夜夜嗨| 成人午夜私人影院| 成人午夜激情影院| 成人一区二区三区| 丁香啪啪综合成人亚洲小说| 韩国成人精品a∨在线观看| 久久er精品视频| 国模一区二区三区白浆| 激情综合色播五月| 国内精品视频一区二区三区八戒| 日本女人一区二区三区| 奇米精品一区二区三区在线观看 | 精品动漫一区二区三区在线观看| 国产一区久久久| 蜜桃av噜噜一区二区三区小说| 日本午夜一本久久久综合| 韩国精品主播一区二区在线观看| 91色porny蝌蚪| 91精品视频网| 亚洲国产激情av| 久久久精品中文字幕麻豆发布| 欧美日韩免费电影| 91麻豆精品国产自产在线| 亚洲高清三级视频| 91亚洲永久精品| 亚洲人成网站在线| 日韩一区二区在线免费观看| 日本亚洲视频在线| 中文字幕乱码一区二区免费| 日本高清免费不卡视频| 久久久久综合网| 日韩国产欧美视频| 一本高清dvd不卡在线观看| 欧美一区二区三区小说| 亚洲一区日韩精品中文字幕| 成人午夜电影久久影院| 日本道精品一区二区三区 | 国产综合色产在线精品| 国产精品1024| 欧洲日韩一区二区三区| 日韩女优制服丝袜电影| 国产精品理论片在线观看| 午夜精品久久久久久久久| 国产成人精品三级麻豆| 欧美日韩国产首页在线观看| 久久久久国产精品人| 五月激情综合网| 成人黄色av网站在线|