線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1275
推到 Plurk!
推到 Facebook!

一些小問題確是一個新手的大問題~~qq

尚未結案
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-18 01:53:13 IP:211.73.xxx.xxx 未訂閱
1.我想請問~~如何重複一段程式碼~~而不是執行完就結束了~~ begin xxx...... end; =============================== 2.如何用1個鍵盤按鍵按一下啟動在按一下停止該程式碼~~ =============================== 3.要如何在dx9的遊戲下使用我寫的程式~~
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-18 08:47:45 IP:210.61.xxx.xxx 未訂閱
hoby1234您好 >1.我想請問~~如何重複一段程式碼~~而不是執行完就結束了~~
while true
begin
  if keypressbreak then break
  xxx......
end;
>2.如何用1個鍵盤按鍵按一下啟動在按一下停止該程式碼~~ 上一段的程式碼,會去判斷keypressbreak全域變數, 在keypress事件裡,去致能這個變數為true,即可跳離永久迴圈 >3.要如何在dx9的遊戲下使用我寫的程式~~ 至少你的程式要引用dx9的宣告檔,使用屬於dx9的初始化步驟及 dx9的繪圖加速功能 發表人 - pedro 於 2005/03/18 08:50:19
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-18 17:42:46 IP:211.73.xxx.xxx 未訂閱
樓上的大大你好~~ 請問有沒有詳細點的範例或連結~~原理~我完全看不懂~~QQ 今天第3天研究DELPHI~~ 我想弄一個能使用在DX9遊戲中的程式~~ 我想讓他在遊戲中~~按某一個按鍵後~~就能啟動跟關閉~~我設定的mouse_event動作
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-18 20:31:20 IP:211.73.xxx.xxx 未訂閱
下面這段他只會一直重複動作~~ 如何使用VK_NUMLOCK按鍵讓他跳出迴圈跟進入迴圈~~ ======================================================= procedure TForm1.Button1Click(Sender: TObject); var point:TPOINT; begin while true do begin getcursorpos(point); setcursorpos(155,230); mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); end; end;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-18 22:40:39 IP:202.39.xxx.xxx 未訂閱
您要的是如 NumLock 鍵是 On 的話就跳出迴圈嗎?
procedure TForm1.Button1Click(Sender: TObject);
var
  point: TPOINT;
  kbs: TKeyBoardState;
begin
  while True do
  begin
    GetCursorPos(point);
    SetCursorPos(155,230);
    mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);        GetKeyboardState(kbs);
    if odd(kbs[VK_NUMLOCK]) then Break;
  end;
end;
參考天使大大的這篇: http://delphi.ktop.com.tw/topic.php?topic_id=133 -- 發表人 - hagar 於 2005/03/18 22:42:52
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-18 23:44:25 IP:211.73.xxx.xxx 未訂閱
感謝上面大大的回答~~ 但是有辦法做到ON進入迴圈OFF就退出迴圈? 意思就是說把數字鍵當成一個開關吧~~可切來切去~~QQ
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-19 02:09:00 IP:211.73.xxx.xxx 未訂閱
搞了一晚~~最後我用Timer~~QQ 最後我發覺~~能啟動跟停止了~~ 但是只要焦點一跑出程式~~就失效了~~ 想請問如何讓焦點維持在程式上面~~因為我的滑鼠會亂動~~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-19 07:43:26 IP:202.39.xxx.xxx 未訂閱
是這樣嗎?
procedure TForm1.Button1Click(Sender: TObject);
var
  point: TPOINT;
  kbs: TKeyBoardState;
begin
  GetKeyboardState(kbs);
  if not odd(kbs[VK_NUMLOCK]) then
  begin
    while True do
    begin
      GetCursorPos(point);
      SetCursorPos(155,230);
      mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
      mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);          GetKeyboardState(kbs);
      if odd(kbs[VK_NUMLOCK]) then Break;
    end;
  end;
end;
--
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-19 19:49:57 IP:211.73.xxx.xxx 未訂閱
首先感謝大大幫忙~~ 1.現在還有一些問題~~就是~要如何讓我寫的滑鼠動作~~能在一個全螢幕的遊戲中跑~~ 應為我弄得程式~~只要視窗焦點跑掉就失效了~~應為開遊戲後焦點就跑到遊戲上面了~~ 2.我找到一些相關的函數~~都需要用到Handle~~但是那遊戲一啟動就全螢幕~~我要怎寫~~有相關函數可用? 3.我有看過一些作成硬體的能用按鍵啟動跟關閉程式~但是~是硬體的~~這有辦法用軟體實現?
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-03-21 14:26:06 IP:60.248.xxx.xxx 未訂閱
引言: 1.現在還有一些問題~~就是~要如何讓我寫的滑鼠動作~~能在一個全螢幕的遊戲中跑~~ 應為我弄得程式~~只要視窗焦點跑掉就失效了~~應為開遊戲後焦點就跑到遊戲上面了~~ 2.我找到一些相關的函數~~都需要用到Handle~~但是那遊戲一啟動就全螢幕~~我要怎寫~~有相關函數可用?
利用 Windows API: FindWindow, FindWindowEx or EnumWindows 去找到那個遊戲的 handle
引言: 3.我有看過一些作成硬體的能用按鍵啟動跟關閉程式~但是~是硬體的~~這有辦法用軟體實現?
用 Hook,在本站找看看,應該可以找到不少文章,就不多貼了
hoby1234
一般會員


發表:6
回覆:11
積分:3
註冊:2005-03-16

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-03-25 23:05:17 IP:211.73.xxx.xxx 未訂閱
請問我要把系統按鍵HOOK攔下~~ 例如~我開筆記本~~按下ENTER鍵會換行~如果我要讓它變成A的話要怎改HOOK程式~~ 我只找到下面這程式代碼~~請會的幫我改~~3Q先~~ var hhook:Integer; function HookProc(iCode:Integer;wParam:wParam;lParam:lParam):LRESULT;stdcall; var msg:TEventMsg; begin Result:=0; if iCode < 0 then Result := CallNextHookEx(hHook,iCode,wParam,lParam) else if icode=HC_ACTION then begin msg:=pEventMSG(lParam)^; if msg.message=WM_LBUTTONDOWN then begin form1.Memo1.Lines.add(inttostr(msg.hwnd) '':'' inttostr(msg.paramL) ''-'' inttostr(msg.paramH)); end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin hHook:=SetwindowsHookEx(WH_JOURNALRECORD,hookProc,HInstance,0); end; procedure TForm1.Button2Click(Sender: TObject); begin UnHookWindowsHookEx(hHook); hHook:=0; end; procedure TForm1.FormDestroy(Sender: TObject); begin if hHook <> 0 then begin UnHookWindowsHookEx(hHook); hHook:=0; end; end;
系統時間:2024-06-02 1:06:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!