Tôi đang tìm kiếm các lựa chọn thay thế cho phiên bản cũ User32.dll
chuyển đổi sang một ứng dụng khác với FindWindow()
và SetForegroundWindow()
.FindWindow và SetForegroundWindow lựa chọn thay thế?
Tôi đã tìm một giải pháp thay thế đầu tiên với cách sử dụng Process.GetProcessesByName()
nhưng tôi không thấy phương thức tương ứng để chuyển (đặt hoạt động/nền trước) sang ứng dụng đó.
Có cách nào để thực hiện điều đó mà không sử dụng cách cũ với User32.dll
không?
Cảm ơn sự giúp đỡ của bạn.
EDIT
tôi chấp nhận câu trả lời của @Sorceri mặc dù nó không phải là câu trả lời tôi đang tìm kiếm.
Có gì sai khi sử dụng 'SetForegroundWindow'? Hệ điều hành Windows theo dõi các cửa sổ nền trước trong hệ thống con Win32, do đó, tuy nhiên bạn làm điều đó chỉ là sẽ được P/Invoking đến 'user32.dll' anyway. –
@MichaelGraczyk: Hoặc ít nhất, chúng tôi giả định rằng an toàn ... :) –
Trên Windows Desktop, tôi phải sử dụng 'user32.dll' trên Windows CE Tôi phải sử dụng' coredll.dll'. Vì vậy, bằng cách sử dụng một 'DLLImport' luôn luôn cho thấy rằng bạn thêm phụ thuộc tĩnh đó là sai. – fdomig