ΪºÎÓÃvb api»ñÈ¡µÄ´°¿Ú±êÌâΪ¿Õ£¬¶øSPY++È´¿ÉÒÔ
VBÖÐcallbacke function ÈçÏ£º
Public Function EnumChildProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
Dim slength As Long, WndTitle As String ' title bar text length and buffer
Dim retval As Long ' return value
Dim WClass As String * 50
Static winnum As Integer ' counter keeps track of how many windows have been enumerated
winnum = winnum + 1 ' one more window enumerated....
slength = GetWindowTextLength(hwnd) + 1 ' get length of title bar text
WndTitle = Space(slength) ' make room in the buffer
retval = GetWindowText(hwnd, WndTitle, slength) ' get title bar text
GetClassName hwnd, WClass, 50
EnumChildProc = 1 ' return value of 1 means continue enumeration
End Function
½á¹ûÁбíÔÚexcelÖУ¬´°¿Ú¾ä±úΪ66622µÄÀà¿ÉÒÔÕÒµ½£¬µ«ÊÇTitleȴΪ¿Õ
ChildWndHnd ChildWndClass ChildWndTitle
66624 TCoolBar
66626 TToolBar
66620 TCoolBar
66622 TToolBar
66618 TPanel
µ«ÊÇΪʲôSPY++ÖÐÈ´¿ÉÒÔÕÒµ½£º
retval = GetWindowText(hwnd, WndTitle, slength)
¼ì²éretvalµÄÖµ,¿´¿´º¯ÊýÖ´ÐеĽá¹ûÊÇʲô.
APIµÄµ÷Óö¼»áÓзµ»ØÖµ,¶¼»á¸æËßÄã·¢ÉúÁËЩʲô.
ÒÔÉÏ´úÂë¿´²»³öhwndÊÇÈçº
Ïà¹ØÎÊ´ð£º
ÎÒÓÃVBµ÷ÓÃWord ǶÈëVB´°ÌåÖÐ(ÕâЩ¶¼ÊÇÕý³£)
È»ºóÔÚ×ÀÃæ´ò¿ªÁíÒ»¸öword a.doc
ÏÖÔÚÎÊÌâ³öÀ´ÁË.....ÎҹرÕVB´°Ìå,֮ǰµÄÄǸöwordÒ²Õý³£¹Ø±ÕÁË
½ÓÏÂÀ´±Õ¹Øa.doc »á³öÏÖÎÊÌâ
ÎÒµ÷ÓõÄw ......
ÔÚÎҵijÌÐòÀ½øÈ롰ɾ³ýÓû§¡±£¬"Ìí¼ÓÓû§"´°Ìå֮ǰ¾ùÏȵ¯³öÒ»¸ö´°ÌåÒªÇóÊäÈë¹ÜÀíÔ±ÃÜÂ룬ÊäÈëÕýÈ·Ö®ºó²ÅÄܽøÈëÏàÓ¦½çÃæ£¬ÈçºÎÉè¼Æ´úÂ룿
¶ÁÊý¾Ý¿âÀïÃæ¹ÜÀíÔ±µÄÃÜÂë
È»ºó¸úÊäÈëµÄÄÚÈݱȽÏ
ºÜ¼òµ¥ ......
ÎÒÓÃVBµ÷ÓÃWord ǶÈëVB´°ÌåÖÐ(ÕâЩ¶¼ÊÇÕý³£)
È»ºóÔÚ×ÀÃæ´ò¿ªÁíÒ»¸öword a.doc
ÏÖÔÚÎÊÌâ³öÀ´ÁË.....ÎҹرÕVB´°Ìå,֮ǰµÄÄǸöwordÒ²Õý³£¹Ø±ÕÁË
½ÓÏÂÀ´±Õ¹Øa.doc »á³öÏÖÎÊÌâ
Õâ¸öÒªÔõà ......
Ôõôµã»÷form2Éϵİ´Å¥ ¿ÉÒÔ½áÊøform1ÉÏÕýÔÚ½øÐеÄÑ»·
form1ÀïÃæÌí¼ÓÒ»¸ö±äÁ¿£º
Public bEnd As Boolean
Ñ»·´úÂëÌí¼Ó£º
bEnd = False
Do
...
If ......
´ó¼ÒºÃ£¬Îʸövb´òÓ¡ÎÊÌâ
printer.print "dsff"
.....
....
Printer.EndDoc
´òÓ¡³É¹¦ºóÎÒ½«Ö´ÐÐ
sqlstr = "update vc_yh set pr=' ÒÑ´òÓ¡ ', ......