2017-01-11 1 views
0

C# 사용 Windows 탐색기 창의 크기 및 위치를 설정하려고합니다. 프로그램으로 시작합니다. SetWindowPos를 조금 봤는데 Windows 탐색기에서 작동하지 않는다고 생각합니다. 나는이 코드를 보았고 그것이 필요한 것을 할 것이라고 생각하지만 그것을 어떻게 사용하는지 모른다. 내가 틀렸다면 Windows 탐색기의 높이, 너비 및 화면 위치 설정

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows(); 
      string filename; 
      ArrayList windows = new ArrayList(); 
      foreach (SHDocVw.InternetExplorer ie in shellWindows) 
      { 
       filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower(); 
       if (filename.Equals("explorer")) 
       { 
        ie.WindowSetHeight += Ie_WindowSetHeight; 
        Console.WriteLine(ie.HWND.ToString()); 
       } 
       Console.ReadLine(); 
      } 

저를 수정하지만,이 코드는 SHDocVw.ShellWindows에서 모든 창을 통해 루프를 냈다 및 Windows 탐색기의 모든 말을하는 것입니다 "탐색기", 모두의 HWND를 인쇄 창을 콘솔에 보냅니다. ie.의 다른 부분을 살펴보면 "WindowSetHeight", "WindowSetWidth", "WindowSetTop"및 "WindowSetResizeable"이 나타납니다. 이름으로 판단 할 때이 사운드는 정확하게 사용하고자하는 것과 같지만, 그 (것)들의 가치는 += 또는 -=가 따를 필요가 있고 거기에서 어디로 가야하는지 이해할 수 없다는 것을 나는 밝힌다 어떤 도움든지 크게 평가 될 것입니다

답변

0

탐색기 창의 높이, 너비 및 위치를 설정하려면 코드에서 ie 개체에 Left, Top, WidthHeight 속성을 사용합니다.

사용하려고 시도하는 WindowSetHeight 것은 것, 이벤트이다 창 높이를 설정하면 발사는 MSDN reference을 참조하십시오.

다음은 드라이브 C의 루트에 대한 탐색기 창을 연 다음 창 (및 열리는 임의의 다른 탐색기 창)의 위치와 크기를 설정하는 코드 예제입니다.

Process.Start(@"c:\"); 

foreach (SHDocVw.InternetExplorer window in new SHDocVw.ShellWindows()) 
{ 
    if (Path.GetFileNameWithoutExtension(window.FullName).ToLowerInvariant() == "explorer") 
    { 
     window.Left = 150; 
     window.Top = 200; 
     window.Width = 800; 
     window.Height = 600; 
    } 
} 

또한 당신은 당신이 모두 C:\Windows\System32에서 찾을 수 있습니다 SHDOCVW.DLL과를 Shell32.dll 모두에 대한 참조를 추가 확인해야합니다.

관련 문제