回覆java_gh的一個問題
我看到java_gh在CSDN C/C++版塊的一個問題,因為是初學者所提問題,我就熱心幫助一次。但並不表示我贊同那種做法。
唉,那種程式設計,是不走正路的。初學者做這種東西,不利於學到真正知識,也不利於培養對程式設計的興趣。因為這是一種hack式程式設計。
如果掃雷程式沒有公開二次開發介面,只有通過給掃雷視窗發訊息的方式,但你心裡要知道這種做法是不正規的。我沒有直接在原貼上回復,
因為看到有人的回覆象刷屏撈分,就不願意跟在後面回覆了。
下面是傳送訊息來觸發掃雷程式自定義設定的程式碼:
HWND h = ::FindWindow(NULL,_T("掃雷"));
if (h == NULL) {
AfxMessageBox(_T("失敗"));
return;
}
CWnd *wnd = CWnd::FromHandle(h);
CMenu *menu = wnd->GetMenu();
CMenu *s = menu->GetSubMenu(0);
::PostMessage(h, WM_COMMAND, MAKELONG(s->GetMenuItemID(5),0), 0);
Sleep(200);
HWND hWndCustom = ::FindWindow(NULL, _T("自定義雷區"));
if (hWndCustom == NULL) {
AfxMessageBox(_T("失敗"));
return;
}
CWnd *wndCustom = CWnd::FromHandle(hWndCustom);
TCHAR *s1 = _T("20");
TCHAR *s2 = _T("30");
TCHAR *s3 = _T("100");
CWnd *ctrl1 = wndCustom->GetDlgItem(0x8D);
if (ctrl1) {
ctrl1->SendMessage(WM_SETTEXT, 0, (LPARAM)s1);
}
CWnd *ctrl2 = wndCustom->GetDlgItem(0x8E);
if (ctrl2)
ctrl2->SendMessage(WM_SETTEXT, 0, (LPARAM)s2);
CWnd *ctrl3 = wndCustom->GetDlgItem(0x8F);
if (ctrl3)
ctrl3->SendMessage(WM_SETTEXT, 0, (LPARAM)s3);
//模擬使用者點選確定按鈕
CWnd *ctrlOK = wndCustom->GetDlgItem(1);
if (ctrlOK)
ctrlOK->PostMessage(BM_CLICK, 0, 0);
簡單說明一下:先找到掃雷程式的主視窗,上面的程式碼是通過FindWindow找到掃雷視窗。如果你已經通過某種方式得到了,就直接用視窗控制程式碼操作,不必用FindWindow了。接著是模擬點選選單項“自定義”,它是在“遊戲”選單的第5項。若成功則自定義掃雷視窗應該出現。接下來就是給三個edit視窗傳送訊息,把具體數值填進去,你要把上面的例子數值替換成你要的值。為什麼三個edit的control ID是0x8D, 0x8E, 0x8F?因為我通過VC自帶的spy工具看到的。如果不能工作,你要在自己的機器上用spy工具看看,給出實際的值。最後是模擬按鈕點選訊息。
相關文章
- 回覆網友問題,關於一個數值和字串一起累加的問題!字串
- 回覆關於原始碼沙盒防洩密的四個問題原始碼
- 一個非技術問題的問題
- asmcmd的一個問題ASM
- 一個jbuilder的問題UI
- 大約linux的幾個問題,你能回答幾個?--回覆14-20稱號Linux
- 嘗試採用一問一答方式及時回覆oracle初學者以及進階者的問題Oracle
- 問一個動態物件的問題物件
- MySQL:一個特殊的問題MySql
- 一個struct聚合的問題Struct
- 一個建立物件的問題物件
- 最近思考的一個問題
- 關於回覆資料後,登入不上的問題
- 寫一個自動回覆的聊天機器人機器人
- 一個版本問題
- 思考一個問題
- 一個小問題
- 問一個基礎的用例問題?
- 一個NBU問題的處理
- 一個java加密引起的問題Java加密
- Eclipse的一個傻問題Eclipse
- outlook express的一個小問題!Express
- 請教一個cookies的問題Cookie
- 一個負載均衡的問題負載
- 一個jboss的應用問題
- 請教一個executeBatch()的問題BAT
- 關於教程的一個問題
- windows的一個問題處理Windows
- 一個奇怪的Java集合問題Java
- 一個奇怪的Golden Gate的問題Go
- 請問一個java nio問題Java
- 一個問題諮詢
- 問一個tomcat伺服器的問題Tomcat伺服器
- 問一個關於hibernate的OracleDialect問題Oracle
- 請問一個有關jdbc效能的問題JDBC
- 請問一個jndi連線的小問題
- 【JavaScript】第一個Demo和一個問題JavaScript
- jmeter 遇到的一個場景問題JMeter