Необработанное исключение, вызывающее файл .exe в приложении эмулятора карманного компьютера - PullRequest
0 голосов
/ 16 мая 2011

Я пытаюсь запустить этот код на vc2005 на эмуляторе карманного компьютера, но это дает мне исключение win32unhandled

private void button1_Click(object sender, EventArgs e)
{ 
  System.Diagnostics.Process Proc = new System.Diagnostics.Process();
  Proc.StartInfo.FileName = @"WM_flowm.exe";
  Proc.Start();
}

WM_flowm.exe - это flite tts, который может без проблем работать на Windows Mobile, но мне нужно вызвать его в моем коде C #.

стек вызовов

System.dll!System.Diagnostics.Process.StartWithShellExecuteEx(System.Diagnostics.ProcessStartInfo startInfo = {System.Diagnostics.ProcessStartInfo}) + 0xcb bytes   

System.dll!System.Diagnostics.Process.Start() + 0x3f bytes  

остановился здесь ===

try_DLL.exe! Try_DLL.Form1.button1_Click (отправитель объекта = {Text = "button1"}, System.EventArgs e = {System.EventArgs}) Строка 29 + 0x6 байт C #

System.Windows.Forms.dll!System.Windows.Forms.Control.OnClick(System.EventArgs e = {System.EventArgs}) + 0x15 bytes 

System.Windows.Forms.dll!System.Windows.Forms.Button.OnClick(System.EventArgs e = {System.EventArgs}) + 0x32 bytes  

System.Windows.Forms.dll!System.Windows.Forms.ButtonBase.WnProc(Microsoft.AGL.Forms.WM wm = WM_BUTTON_NOTIFYCLICKED, int wParam = 0, int lParam = 0) + 0x17 bytes   

System.Windows.Forms.dll!System.Windows.Forms.Control._InternalWnProc(Microsoft.AGL.Forms.WM wm = WM_BUTTON_NOTIFYCLICKED, int wParam = 0, int lParam = 0) + 0x9 bytes  

System.Windows.Forms.dll!Microsoft.AGL.Forms.EVL.EnterMainLoop(System.IntPtr hwnMain = 1114117) 

System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form fm = {try_DLL.Form1}) + 0x1a bytes  

try_DLL.exe!try_DLL.Program.Main() Line 15 + 0xa bytes  C#

1 Ответ

0 голосов
/ 17 мая 2011

Попробуйте использовать полный путь к файлу. Если файл находится в \ Progam Files \ WM_Flowm \:

private void button1_Click(object sender, EventArgs e)
{ 
    System.Diagnostics.Process Proc = new System.Diagnostics.Process();
    Proc.StartInfo.FileName = @"\Program Files\WM_flowm\WM_flowm.exe";
    Proc.Start();
}
...