開機執行常駐程式的問題 |
答題得分者是:dllee
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
或許是 Shell (Explorer)還沒有完全載入吧,試試看在主程式 Project1.cpp 加上
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Sleep(15000); // 等個 15 秒再開始 Application->Initialize(); Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } return 0; }沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
可以參考:
■【發表】操縱 Windows 的一些小技巧
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30848
其中都是去找 Shell 所建立的 Windows Handle,如:
工作列:
FindWindow("Shell_TrayWnd",NULL)
桌面:
FindWindow("ProgMan",NULL)
FindWindow(NULL,"Program Manager") 您可以先試試是否在開機完以上三個的 Windows Handle 都可以取得,如果都可以,就在改成在一開始,每隔一段時間檢查(例如 1 秒),當三個都找到時,就表示 Shell 啟動完成,可以繼續 GO。 不過,這樣的方法用在別的 Shell 可能就不行,例如:我使用 geOShell ( http://www.geOShell.com )它就沒有這些 Windows 給您判斷。
還一個方法是在判斷無法建立圖示時看是傳回 Error 或攔下 Exception,當發生時就再等一下,再試一次,這樣可以適用不同的 Shell 但比較麻煩。 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
China Join
中階會員 發表:81 回覆:242 積分:89 註冊:2003-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |