表单显示对话框函数错误,并且不执行下面的语句
Form ShowDialog function error and does not execute the statements below of it
我有一个DLL,当dll注入进程时,它应该显示一个窗口窗体。下面的代码是在将 dll 注入进程时执行的。但是,ui->ShowDialog(( 代码似乎失败了,它下面的语句不会执行。而且错误也没有在 catch 语句中捕获。执行只是在 ui->ShowDialog 行上停止。我怎样才能做到这一点?
MainUI 是从 System::Windows::Forms::Form 类扩展而来的。
try {
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
MainUI^ ui = gcnew MainUI();
ui->ShowDialog();
printOutput("ui->ShowDialog() has been executed");
Application::Run(ui);
}
catch (InvalidOperationException^ e) {
printOutput("Exception catched");
}
解决方案是添加一个 if 语句来检查 Application::MessageLoop。
if (Application::MessageLoop == false) {
printOutput("No message loop exists on this thread");
}
try {
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew MainUI());
}
catch (InvalidOperationException^ e) {
printOutput("Exception catched");
}
相关文章:
- 如何及时执行if语句?
- 获取上次执行的返回语句的行
- 如何仅在父循环的所有迭代都为真时才执行嵌套的 if 语句?
- 表单显示对话框函数错误,并且不执行下面的语句
- 如何知道调试时执行了哪个语句
- 在可变函数调用中执行一次语句
- 在多个对象上执行同一语句的零成本抽象
- 我怎样才能接受输入作为双精度值并执行 IF ELSE 语句
- c++:if 语句无法正常运行,并继续执行无效输出
- 为什么 cout 语句在传递指向函数的指针时没有执行?
- c++ IF 语句执行,但添加 ELSE 会显示错误
- C 程序如果功能中的语句不执行.在逻辑上似乎是错误的
- 当您希望在Arduino Uno编程中同时执行不同函数时,使用什么代码/语句
- OR 语句执行所有评估
- C++ Switch 语句在中断后执行
- 强制执行C++语句顺序
- SQLITE 内存不足 无法执行语句
- 如何在c++中执行语句
- 如何使用c++/python程序在终端中运行程序,然后在该程序中执行语句
- QODBCResult::exec: 无法执行语句:"[Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误