我使用FPC IDE在Win32中編程我創建Windows對象(如Windows,筆,畫筆等)並且Windows返回Handles。我想通過這些句柄直接訪問對象的數據。 這可能嗎?如果是,如何?通過Windows處理訪問Windows數據
回答
我想通過這些句柄直接訪問對象的數據。可能嗎?
不。這些手柄是不透明的。使用提供的API與這些對象進行交互。
謝謝,我明白了。所以每次我想改變選定的筆(DC)的顏色,我必須創建一個新的? –
[this](https://msdn.microsoft.com/en-us/library/windows/desktop/dd162970(v = vs.85).aspx)有幫助嗎? – CristiFati
正確訪問圖形對象(如筆或筆刷)的數據的方法是使用GetObject()
。但是如果你想修改這樣一個對象,你需要使用適當的API(CreatePenIndirect()
等)創建一個新的對象,除非有專門用於操作現有對象的API(例如當選擇股票DC_PEN
時爲SetDCPenColor()
變成HDC
)。
'SetDCPenColor'並不真正處理GDI對象。它僅存儲一個'COLORREF'值,用於繪製,當DC_PEN被選入設備上下文時。 – IInspectable
謝謝你......所以每次我想使用不同的風格,顏色,筆,刷子,地區,我不得不創造一個新的? –
@TạĐặngVĩnhPhúc:是的。您可以根據需要爲每個圖形創建它們,也可以事先創建它們並將其重複用於多個圖形。 –
- 1. 通過Windows Azure訪問sqlserver
- 2. Windows應用程序通過Interop.Excel庫訪問xls數據問題
- 3. 通過批處理文件運行jar和數據庫(Windows)
- 4. 如何通過JDBC訪問Blackfish for Windows?
- 5. 無法通過RDP訪問Azure Windows VM
- 6. 通過C中的REST訪問Windows Azure#
- 7. 通過Windows Phone訪問WCF服務
- 8. 通過VirtualBox OSX Tomcat訪問Windows 7
- 9. 通過Silverlight訪問Windows Azure API?
- 10. 通過批處理文件刪除文件的訪問被拒絕在Windows 7
- 11. 通過從Windows服務執行的批處理文件無法訪問URL
- 12. 處理數據訪問
- 13. Windows批處理文件循環通過目錄處理文件?
- 14. Ansible for Windows:無法通過WinRM訪問Windows機器
- 15. 通過批處理文件訪問Android
- 16. For Windows在Windows批處理
- 17. 如何訪問Windows憑據?
- 18. Windows批處理
- 19. 通過HTTP訪問數據
- 20. 數據訪問通過CTE
- 21. 的Windows批處理文件來執行PHP訪問的mysqli數據庫
- 22. Windows Phone 7訪問數據庫
- 23. 使用Windows服務訪問數據庫
- 24. Mysql windows 7數據庫訪問
- 25. 從Windows服務訪問數據庫
- 26. 處理通過Windows Azure緩存服務到達LocalCache的通知
- 27. HttpClient通過Windows憑據
- 28. Windows過濾平臺:訪問數據包的有效負載
- 29. 在Windows Server 2003中通過configSource訪問AppSettings的問題
- 30. 處理Windows消息
'HANDLE's基本上是指針,所以內存地址。如果你知道這樣一個「對象」的內部表示,當然這是可能的,但我沒有看到任何理由這樣做,因爲所有的操作都應該由WinAPI執行(以'HANDLE'作爲參數)。 – CristiFati
@Cristi:'HANDLE'不是指針。它們是內核控制容器的索引。即使它們是指針,並且您確實知道內部表示,您也無法訪問受保護的內核內存。另一方面,HWND則是模糊的指向內核控制結構的指針,它們只讀映射到用戶模式內存中。 – IInspectable
https://msdn.microsoft.com/en-us/library/windows/desktop/dd144904%28v=vs.85%29.aspx –