首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

高分一个有关问题,小弟我的程序异常在什么地方

2012-02-09 
高分求助一个问题,我的程序错误在什么地方?窗体:  OptionExplicitPublicg_bDoneAsBooleanPublicg_strTitle

高分求助一个问题,我的程序错误在什么地方?
窗体:

  Option   Explicit
  Public   g_bDone           As   Boolean
  Public   g_strTitle           As   String

Private   Sub   Form_Load()
          Me.Show
End   Sub

Private   Sub   Form_Unload(Cancel   As   Integer)
    Dim   hThread,   lpThreadID   As   Long
    g_bDone   =   False
    g_strTitle   =   "Close "
    hThread   =   CreateThread(ByVal   0&,   ByVal   0&,   AddressOf   HookInputBoxThread,   ByVal   0&,   0,   lpThreadID)
    If   InputBox(vbCrLf   +   "Please   input   the   correct   Password! "   +   vbCrLf   +   "Operator   can 't   close   it! ",   g_strTitle)   =   "ictadmin "   Then
               
                Unload   Me
        Else
                MsgBox   "The   Password   isn 't   correct! ",   0   +   64,   "Warning "
                Cancel   =   1
  End   If
     
End   Sub


模块:

  Public   Declare   Function   FindWindow   Lib   "user32 "   Alias   "FindWindowA "   (ByVal   lpClassName   As   String,   ByVal   lpWindowName   As   String)   As   Long
    Public   Declare   Function   FindWindowEx   Lib   "user32 "   Alias   "FindWindowExA "   (ByVal   hWnd1   As   Long,   ByVal   hWnd2   As   Long,   ByVal   lpsz1   As   String,   ByVal   lpsz2   As   String)   As   Long
    Public   Declare   Function   SendMessage   Lib   "user32 "   Alias   "SendMessageA "   (ByVal   hwnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,   lParam   As   Any)   As   Long
    Public   Declare   Function   GetDlgItem   Lib   "user32 "   (ByVal   hDlg   As   Long,   ByVal   nIDDlgItem   As   Long)   As   Long
    Public   Declare   Function   CreateThread   Lib   "kernel32 "   (ByVal   lpThreadAttributes   As   Any,   ByVal   dwStackSize   As   Long,   ByVal   lpStartAddress   As   Long,   ByVal   lpParameter   As   Any,   ByVal   dwCreationFlags   As   Long,   lpThreadID   As   Long)   As   Long
    Public   Declare   Function   SetForegroundWindow   Lib   "user32 "   (ByVal   hwnd   As   Long)   As   Long
    Public   Declare   Function   SetFocusAPI&   Lib   "user32 "   Alias   "SetFocus "   (ByVal   hwnd   As   Long)
    Public   Declare   Function   SetWindowPos   Lib   "user32 "   (ByVal   hwnd   As   Long,   ByVal   hWndInsertAfter   As   Long,   ByVal   x   As   Long,   ByVal   y   As   Long,   ByVal   cx   As   Long,   ByVal   cy   As   Long,   ByVal   wFlags   As   Long)   As   Long


    Public   Declare   Function   SetFocus   Lib   "user32.dll "   (ByVal   hwnd   As   Long)   As   Long
   
    Public   Const   EM_SETPASSWORDCHAR   =   &HCC
    Public   Const   HWND_TOPMOST&   =   -1
    Public   Const   SWP_NOSIZE&   =   &H1
    Public   Const   SWP_NOMOVE&   =   &H2
   
    Public   g_bDone           As   Boolean
    Public   g_strTitle           As   String
   
    Public   Sub   HookInputBoxThread()
                    Do   Until   g_bDone
                                    Dim   h           As   Long,   hText               As   Long
                                    h   =   FindWindow( "#32770 ",   g_strTitle)
                                    If   h   <>   0   Then
                                                    hText   =   GetDlgItem(h,   &H1324)
                                                    If   hText   <>   0   Then
                                                    SendMessage   hText,   EM_SETPASSWORDCHAR,   Asc( "* "),   0
                                                    g_bDone   =   True
                                                    End   If
                                    End   If
                    Loop
    End   Sub

问题:

程序调试运行时没错,为什么生成exe文件后程序关闭时就报错自动关闭呢?



[解决办法]
生成P代码看看

热点排行