ToolControl disappears if MsgBox MessageBox.Show is called at any time by another .NET Commandor
上次发布: August 25, 2014No Product Found
漏洞 ID 编号
NIM003925
已提交
August 22, 2006
上次修改时间
June 5, 2024
适用范围
No Product Found
找到的版本
9.1
编程语言
VB.Net
状态
Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
No Public Explanation
解决办法
Workaround: -> NEEDS TO BE DOCUMENTED
*************************************
This problem can be fixed with the following workaround and this workaround needs to be documented (maybe under IToolControl).
The solution is to pass the application window handle to the call of MessageBox using Win32 API function directly.
Try this (C# code):
[ DllImport(“User32.dll”, EntryPoint=”MessageBox”, CharSet=CharSet.Auto)]
public static extern int MsgBox(int hWnd, String text, String caption, uint type);
Then make a call using the imported method passing the application window handle:
MsgBox(m_app.hWnd, “Test box”, “”, 0);
VB.NET
<DllImport("User32.DLL", EntryPoint:="MessageBox", CharSet:=CharSet.Auto)> _
Public Shared Function MBox(ByVal hWnd As Integer, ByVal pCaption As String, ByVal pType As UInt32) As Integer
End Function
OR
Declare Auto Function MBox Lib "user32.dll" _
Alias "MessageBox" (ByVal hWnd As Integer, ByVal txt As String,
ByVal caption As String, ByVal Typ As Integer) As Integer
Now call the function:
MBox(Me.m_pApplication.hWnd, "Testing", "Caption", 0)