我编写Windows服务来启动具有指定路径的应用程序,并发送文件名作为其参数。=>我CreateProcessAsUser
在C#
代码上使用:
如果文件名来自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
常规
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句