0
我想用傳送WM_APPCOMMAND Spotify的C++的SendMessage()Spotify的不工作(C++)
我當前的代碼看起來像這樣:
DWORD dwThreadId = GetCurrentThreadId();
HDESK hDesktop = GetThreadDesktop(dwThreadId);
EnumWindows((WNDENUMPROC)&WndEnumProc, 0);
還有:
BOOL CALLBACK Remote::WndEnumProc(HWND hwnd, LPARAM lParam)
{
TCHAR className[MAX_PATH];
GetClassName(hwnd, className, sizeof(className));
string name = className;
if (name.compare("SpotifyMainWindow") == 0) {
cout << SendMessage(hwnd, WM_APPCOMMAND, 0, APPCOMMAND_MEDIA_PLAY_PAUSE) << name << endl;
}
return TRUE;
}
頭文件:
class Remote
{
public:
static BOOL CALLBACK WndEnumProc(HWND, LPARAM);
};
問題是它返回0SpotifyMainWindow。 它打印1或0(SendMessage()的返回值)和句柄的類。總而言之,它意味着它試圖將消息發送到SpotifyMainWindow,但無法發送。
如何解決這個問題?
目前尚不清楚如何你的代碼沒有。在面值時,爲什麼不寫'name.compare(「0SpotifyMainWindow」)'?請說清楚失敗的模式是什麼。 –
好吧,我會編輯它 –
請參閱http://stackoverflow.com/questions/2301371/sendmessage-always-returns-zero。 – nneonneo