2013-04-12 43 views
1

Enter鍵按到活動窗口,我已經打開使用CreateProcess的這樣一個過程:發送在WINAPI

CreateProcess(NULL,"C:\\Program Files (x86)\\Microsoft Office\\OFFICE11\\PPTVIEW.EXE C:\\Users\\DRILON\\Desktop\\a.pps",NULL,NULL,FALSE,0,NULL,NULL,&sai,&pi); 

正如你可以看到這個進程打開PPS文件。現在,我想發送並輸入按鍵到演示文稿(這將更改幻燈片)。我嘗試了很多代碼,但都沒有工作。 我曾嘗試:

HWND powerpoint = GetActiveWindow(); 
PostMessage(powerpoint, WM_KEYDOWN, VK_RETURN, 0); 

而且

SendMessage(powerpoint, WM_KEYDOWN, VkKeyScan('c'), 1); 

有沒有辦法做到這一點?

+0

我解決了這個問題。誰在這裏面臨同樣的問題就是答案。 keybd_event(VK_RETURN,0x9C,0,0); 這發送一個keydown命令給活動widnwos。 – Panarit

+1

按鍵不是一條消息。這是兩條消息,並且您沒有發送最重要的WM_KEYUP消息。 –

+1

通常,SendInput()優於keybd_event()。 –

回答

1

您可以使用PowerPoint的對象模型,使用等效在你的語言:

CreateObject("Powerpoint.Application").ActivePresentation.SlideShowWindow.View.Next