Я хочу, чтобы свернуть окно с помощью C#Минимизация папку
Ex: Я открыл этот путь E:\
используя
process.start(E:\)
И я хочу, чтобы минимизировать этот путь на определенное событие.
Как я могу сделать это возможным?
Я хочу, чтобы свернуть окно с помощью C#Минимизация папку
Ex: Я открыл этот путь E:\
используя
process.start(E:\)
И я хочу, чтобы минимизировать этот путь на определенное событие.
Как я могу сделать это возможным?
Ваш вопрос не очень ясен. Если вы используете элемент управления TreeView, см. MSDN Treeview class. Затем вы можете: развернуть или свернуть элементы по своему усмотрению.
Shell32.Shell objShell = new Shell32.Shell(); objShell.MinimizeAll(); это поможет вам свести к минимуму все окна не только папки, все (что-то вроде окна + M !!!
Вы можете использовать конфигурационный файл или переменную
В следующем примере кода консольного приложения минимизируют все виды оболочки проводника, которые открываются на E: \:..
class Program
{
static void Main(string[] args)
{
// add a reference to "Microsoft Shell Controls and Automation" COM component
// also add a 'using Shell32;'
Shell shell = new Shell();
dynamic windows = shell.Windows(); // this is a ShellWindows object
foreach (dynamic window in windows)
{
// window is an WebBrowser object
Uri uri = new Uri((string)window.LocationURL);
if (uri.LocalPath == @"E:\")
{
IntPtr hwnd = (IntPtr)window.HWND; // WebBrowser is also an IWebBrowser2 object
MinimizeWindow(hwnd);
}
}
}
static void MinimizeWindow(IntPtr handle)
{
const int SW_MINIMIZE = 6;
ShowWindow(handle, SW_MINIMIZE);
}
[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
}
это с помощью Shell Objects for Scripting Обратите внимание на использование динамического ключевого слова, обязательные здесь, потому что не круто TypeLib, и, следовательно, нет IntelliSense либо
Это является возможным решением и только минимизирует окно у открыты:
private int explorerWindowNumber;
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MINIMIZE = 0xF020;
[DllImport("user32.dll", SetLastError = true)]
public static extern int GetForegroundWindow();
[DllImport("user32.dll")]
public static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam);
public void button1_Click(object sender, EventArgs e)
{
//Start my window
StartMyExplorer();
}
private void StartMyExplorer()
{
Process.Start("D:\\");
Thread.Sleep(1000);
//Get the window id (int)
explorerWindowNumber = GetForegroundWindow();
}
private void button2_Click(object sender, EventArgs e)
{
//Minimize the window i created
SendMessage(explorerWindowNumber, WM_SYSCOMMAND, SC_MINIMIZE, 0);
}
попробуйте отправить ключи выиграть + стрелка вниз, http://msdn.microsoft.com/en-us/library/system.windows .forms.sendkeys.send% 28v = vs.110% 29.aspx –
Надеемся, что эта тема будет полезна http://stackoverflow.com/questions/785054/minimizing-all-open-windows-in-c-sharp –