我遇到的問題是執行此代碼時,它會發出喀噠聲,然後我的監視器變爲藍色,並顯示「HDMI沒有電纜連接」,並在1秒後恢復正常,或停留在該屏幕上,直到我執行一個操作(點擊,等等)。C++執行導致監視器斷開連接
任何人有任何想法,爲什麼發生這種情況將不勝感激。
#include "stdafx.h"
#include <Windows.h>
using namespace std;
void function() {
INPUT Input;
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(true, &Input, sizeof(Input));
Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(true, &Input, sizeof(Input));
};
int main()
{
Sleep(3000);
function();
return 0;
}
此外,我正在使用Visual Studio 2017社區。調試代碼時以及運行可執行文件時會發生此問題。我的代碼沒有錯誤或警告。
我在答案部分留下了更新,編輯我的帖子似乎不工作。 – luke
你應該在問題中提供更新,而不是作爲答案。答案框是答案。 –
也許這只是你的系統告訴你的方式,是時候閱讀[SendInput]的文檔(https://msdn.microsoft.com/en-us/library/windows/desktop/ms646310.aspx)。傳遞'1'作爲第一個參數已經是一個bug了。另一方面,傳遞「真實」需要主動拒絕理解文檔。然後由於使用未初始化的變量而導致未定義的行爲。開始[這裏](https://stackoverflow.com/q/388242/1889329)。 – IInspectable