2014-02-08 166 views
2

我是一個學習C++,我想知道如何製作可以與windows中的其他應用程序交互的程序。交互我的意思是像點擊一個按鈕,給鍵盤輸入,更改該應用程序的設置,改變選項,甚至編輯或創建files.How我可以使用C++這樣的程序?與其他應用程序的交互

回答

1

您如何與其他應用程序交互取決於您的操作系統。如果您的應用程序在Windows上運行,則必須使用Win32 API。 Win32 API是OS提供的函數,允許您不僅與其他應用程序進行交互,而且還與操作系統本身進行交互,例如設置窗口或打開文件。

Win32提供了一個消息傳遞系統。每個應用程序都有一個消息循環並接受來自操作系統的消息(例如關於鼠標點擊),但也可以從其他應用程序接收消息。接收者無法確定消息是來自操作系統還是來自其他進程。

要例如更改標題,必須使用SendMessage函數向其他應用程序發送WM_SETTEXT消息。

只要應用程序提供某種接口,就可以直接與其他應用程序進行交互(更改其值,而不僅僅是修改GUI)。這些可能是網絡連接,命名管道,共享內存或某些模塊/插件加載機制(通過dll)。否則它不可能(容易)。

對於基於UNIX的操作系統,存在一個名爲POSIX的API,它提供與Win32相似的功能。

+0

好吧,有win32是除win32以外做相同的事情在windows.For圖形用戶界面部分我發現win32困難,所以我目前正在學習Qt這比win32更容易。是否有辦法我可以整合Qt(對於gui)和win32進行交互,如果是的話 –

+1

@TheExperimenter是的,簡單地通過包括它? Qt並不使用Win32以外的其他任何東西。他們爲什麼要互相干擾?包括windows.h並不意味着你必須將它用於你的GUI o.O – Paranaix

相關問題