回答
我認爲你是.NET新手,也可能是UI庫?在.NET中執行UI與舊的Windows C'Win32'API不同。
像Jon提到的,.NET和它的UI庫不使用這些項目。除了窗口句柄(即HWND)之外,還有一些類負責可以實例化和使用的用戶界面。例如,在經典的.NET中,Windows大部分被System.Windows.Forms命名空間中的UI元素取代。爲了顯示一個對話框,你可以建立一個表單,最後在表單上調用.Show()來顯示它。您的代碼最終會保存一個指向Form的面向對象實例的變量。沒有代碼可以讓你返回該表單的HWND。與Win32相比,它確實是編寫UI的更好方式。
還有其他的庫可以顯示.NET可以訪問的UI,比如Windows Presentation Foundation(WPF),這是我的最愛。 Silverlight也是如此,儘管我對Silverlight還沒有更多的瞭解。
如果你打算一般學習.NET,那麼我建議你在這裏問很多問題,並且也可以買些書。我可以建議Jeffrey Richter的第一本書叫做'CLR via C#'。當然,其他人也可能會提出很好的建議,但那本書是我讀過的,哦這麼多年前。當然,經常回到這裏來提問並尋找答案。
祝你好運,在你學習.NET的道路上!
對於hWnd,您可以使用System.IntPtr
結構 - 其他結構。 TAboutBox聽起來像一個Delphi或C++ Builder類...
爲了獲得一個窗口句柄,或的hWnd,在C#中,你只需要返回Process
的MainWindowHandle
,像這樣:
您可以使用平臺調用訪問GetWindowPlacement
:
[DllImport("user32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool GetWindowPlacement(IntPtr hWnd, out WINDOWPLACEMENT lpwndpl);
而且我猜TAboutBox正是一個對話框,或MessageBox
在C#。
- 1. 命名空間C#.NET
- 2. 命名空間confilcts .NET C++
- 3. IOAuthCredentials哪個命名空間包含這個
- 4. 哪個nuGet包的命名空間Microsoft.TeamFoundation.Framework.Server
- 5. 在.net中重命名命名空間
- 6. C#/ .NET如何從類名中找到包含名稱空間
- 7. 如何在命名空間中將C++類包含到Cython中?
- 8. IActionCommand在哪個命名空間中?
- 9. .NET命名空間
- 10. .NET C#數據集中WriteXML包含/排除列和添加命名空間
- 11. C++包含一個來自外部命名空間的類
- 12. 在razorview中包含2個命名空間?
- 13. nhibernate-core不包含Remotion.Linq命名空間
- 14. PHP命名空間和包含文件
- 15. 引用包含命名空間
- 16. 包含的XDocument命名空間
- 17. 不能包含命名空間System.Threading.Tasks
- 18. PHP命名空間和包含()與類
- 19. Xunit TestNames總是包含命名空間
- 20. 我應該研究.NET Framework中的哪個命名空間?
- 21. C++包括具名命名空間
- 22. 哪個命名空間是DelegateCommand中的?
- 23. 創建C++ ATL COM嵌套命名空間,如.NET中的System命名空間
- 24. 包含多個名稱空間的XSLT for XML包含多個名稱空間
- 25. 如何在.NET中創建包含'System'的命名空間而不衝突?
- 26. 在自定義命名空間下包含一個頭部?
- 27. 將.NET命名空間導入一個空的Visual C++項目
- 28. 命名空間問題.net
- 29. .NET的命名空間ComboBoxItem
- 30. 將命名空間更改爲包含父命名空間(OLD - > NEW.OLD)
它們不是.NET本身的一部分。如果您使用的是引用它們的代碼,那麼要麼使用第三方庫,要麼將其聲明在別的地方。 –