看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual Studio 2008 C++ 問題(Question): 因為我想做個按一下就可以關閉螢幕電源的程式 所以上網找了資料 有網站說用 #include "windows.h" void main() { SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2); } 這樣子就可以關閉顯示器 我開始試後發現 如果用Win32主控台應用程式開啟專案的話 這樣是可以執行 螢幕的確會被關掉 可是如果用Windows Form應用程式開專案再使用這指令就會出現 error C2661: 'System::Windows::Forms::Control::SendMessage' : 多載函式不使用 4 引數 的訊息,我實在是百思不得其解,去估狗也沒有發現有人有這個問題 請問是我哪邊還要改嗎? 那段指令我是把它放在按下按鈕後的事件 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.116.109
james732:你要不要先查一下兩種專案的差別.... 03/09 23:26
james732:另外試試寫成 ::SendMessage 能不能用 (前面加兩個冒號) 03/09 23:29
前面加兩個冒號也不行耶.. 因為SendMessage呼叫API那個寫法VB6也可以用差不多的寫法實現 我不曉得為什麼C++兩種專案的寫法還會不同 我先去查察兩種專案的差別好了XD ※ 編輯: Hankmix 來自: 111.240.116.109 (03/09 23:36)
james732:不行的錯誤訊息是什麼?完整的貼上來看看 03/09 23:37
啊 原文我打錯了 是Windows Form應用程式 已改 ※ 編輯: Hankmix 來自: 111.240.116.109 (03/09 23:37) 錯誤變這樣 http://ppt.cc/!WST ※ 編輯: Hankmix 來自: 111.240.116.109 (03/09 23:46) 唔 經過努力估狗後發現 原來是在CLR程式要用SendMessage必須要去 連結器->輸入->其他相依性 的$(NOINHERIT)刪掉 就可以了 真神奇= =... ※ 編輯: Hankmix 來自: 111.240.116.109 (03/10 00:29) ※ 編輯: Hankmix 來自: 111.240.116.109 (03/10 00:43)