如何使用带有参数的CreateProcessAsUser是日语
本文关键字:CreateProcessAsUser 日语 参数 何使用 | 更新日期: 2023-09-27 18:37:25
我编写Windows服务以使用指定路径启动应用程序,并发送文件名作为其参数。 => 我在C#
代码上使用CreateProcessAsUser
:
-
如果文件名来自 a,b,c...Z 字符 =>成功
-
如果文件名是日语 => 文件名在应用程序时不正确
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);
在所有结构和例程中使用CharSet = CharSet.Unicode
CreateProcessAsUser