Проблема CreateProcessWithLogonW с форматом даты Windows 10 v.1703 - PullRequest
0 голосов
/ 04 марта 2020

У меня есть следующий код, где я запускаю процесс, используя другие Windows учетные данные, предоставленные во внешнем источнике.

Код:

 public static void ImpersonateProcess_WithProfile(string appPath, string domain,
        string user, string password)
    {
        ImpersonateProcess(appPath, domain, user, password, LogonFlags.LOGON_WITH_PROFILE);
    }

    private static void ImpersonateProcess(string appPath, string domain, string user,
        string password, LogonFlags lf)
    {
        StartupInfo si = new StartupInfo();
        si.cb = Marshal.SizeOf(typeof(StartupInfo));
        ProcessInfo pi = new ProcessInfo();

        if (CreateProcessWithLogonW(user, domain, password,
        lf,
        appPath, null,
        0, IntPtr.Zero, null,
        ref si, out pi))
        {
            CloseHandle(pi.hProcess);
            CloseHandle(pi.hThread);
        }
        else
        {
            throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error());
        }
    }

Эта программа отлично работает для меня в версия windows 7,8 и 10 ..

Но в windows 10 версии 1703 я имею дело с ошибкой по формату даты (указана ошибка, возникшая в результате проверки запущенного процесса) .. I Не понимаю, почему это происходит только с этой версией.

Ошибка возникает из-за того, что запущенный процесс ожидает, что формат даты будет dd / MM / yyyy. Но я повторяю, это происходит только со мной только в этой версии Windows 10 и имеет одинаковый формат даты во всех версиях, которые я пробовал.

1 Ответ

0 голосов
/ 07 марта 2020

Наконец-то я нашел решение, которое мне помогло.

Я просто создаю файл bat, в котором я изменяю формат системной даты, а затем запускаю свой .exe

@echo off
reg add "HKCU\Control Panel\International" /f /v sShortDate /t REG_SZ /d "dd/MM/yyyy" >nul
app.exe

Это работает для я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...