Проблемы с CloseMainWindow (), чтобы закрыть окно Windows Explorer - PullRequest
1 голос
/ 05 апреля 2010

Я сталкиваюсь с проблемой при попытке закрыть окно Windows Explorer (не Internet Explorer) через другое приложение, используя метод "Process.CloseMainWindow ()";поскольку он не закрывает окно проводника, он пытается полностью закрыть Windows (Оперативную систему), кстати, Windows XP.

Код выглядит следующим образом:

[DllImport("user32.dll")]
    static extern int GetForegroundWindow();

    [DllImport("user32.dll")]
    private static extern UInt32 GetWindowThreadProcessId(Int32 hWnd, out Int32 lpdwProcessId);


    public String[] exeCommand()
    {

        try
        {
            //Get App
            Int32 hwnd = 0;
            hwnd = GetForegroundWindow();
            Process actualProcess = Process.GetProcessById(GetWindowProcessID(hwnd));

            //Close App
            if (!actualProcess.CloseMainWindow())
                actualProcess.Kill();

        }
        catch { throw; }

        return null;

    }

Предположим, что «actualProcess» - это «explorer.exe»

. Любая помощь будет принята с благодарностью!Салюты!

1 Ответ

1 голос
/ 05 апреля 2010

Я считаю, что это потому, что основным окном для исследования считается оболочка. Однако вы можете убить процесс, но Windows сразу же запустит его.

...