2011-12-15 24 views
8

Tôi rất mới với C#.Nhận đường dẫn của mỗi cửa sổ khám phá với C#

Tôi đã nhàm chán rằng đôi khi tôi đóng cửa sổ và sau vài giây tôi lưu ý rằng tôi cần lại cửa sổ đó, và rất bực bội khi tôi mở lại Windows Explorer và điều hướng đến đường dẫn cụ thể đó.

Vì vậy, tôi muốn tạo một ứng dụng nhỏ cho phép tôi lưu trữ danh sách các cửa sổ đã đóng gần đây nhất. Và với một phím tắt khôi phục từng cái một cửa sổ đóng cửa cuối cùng (giống như tôi làm với các trình duyệt như Firefox) và với phím tắt khác hiển thị danh sách với các cửa sổ n cuối cùng.

Tôi không biết cách lấy đường dẫn của cửa sổ và điều quan trọng là chương trình cũng nhận được khi đường dẫn thay đổi (khi người dùng điều hướng).

Cảm ơn bạn đã trợ giúp.


Tôi sẽ đăng liên kết sau khi ứng dụng hoàn tất.

+0

Bạn đã thử bất cứ điều gì? –

Trả lời

12

Taken từ here:

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows(); 

string filename; 

foreach (SHDocVw.InternetExplorer ie in shellWindows) 
{ 
    filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower(); 

    if (filename.Equals("explorer")) 
    { 
     // Save the location off to your application 
     Console.WriteLine("Explorer location : {0}", ie.LocationURL); 

     // Setup a trigger for when the user navigates 
     ie.NavigateComplete2 += new SHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(handlerMethod); 
    } 
} 
+0

Cảm ơn Garret. Tôi nhận được một lỗi nói rằng không thể tìm thấy không gian tên SHDocVw. – Memochipan

+1

Thêm tham chiếu đến đối tượng COM Điều khiển Internet Explorer. Xem ở đây để biết thêm thông tin: http://omegacoder.com/?p=63. –

+0

Ok. Tôi có thể nhập khẩu đối tượng Internet Explorer Control COM. Bây giờ tôi nhận được lỗi này: Không thể nhúng loại liên kết 'SHDocVw.ShellWindowsClass'. Sử dụng giao diện của vị trí của nó. Cái gì đang nói về? – Memochipan

Các vấn đề liên quan