如何使用带参数的CreateProcessAsUser是日语?

时间:2015-01-14 11:47:49

标签: c# c++ windows-services

我编写Windows服务以使用指定路径启动应用程序并发送文件名作为其参数。 =>我在CreateProcessAsUser代码上使用了C#

  1. 如果文件名来自a,b,c ... z character =>成功

  2. 如果文件名是日语=>应用程序获取的文件名不正确

  3. P / S:我调试了windows服务:传递给CreateProcessAsUser的文件名是正确的,但是在应用程序中没有。

    问题:如果文件名是日文,我怎样才能正确获取文件?

    更新:使用CreateProcessAsUserW()

    [DllImport("advapi32.dll", EntryPoint = "CreateProcessAsUserW", SetLastError = true, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
            public extern static bool CreateProcessAsUserW(IntPtr hToken, String lpApplicationName, String lpCommandLine, ref SECURITY_ATTRIBUTES lpProcessAttributes,
                ref SECURITY_ATTRIBUTES lpThreadAttributes, bool bInheritHandle, int dwCreationFlags, IntPtr lpEnvironment,
                String lpCurrentDirectory, ref STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation);
    

1 个答案:

答案 0 :(得分:0)

在所有结构和CharSet = CharSet.Unicode例程

中使用CreateProcessAsUser