û¿Ç,ûÓÐCommand Button,ËùÓеÄÄÚÈݶ¼ÔÚForm_LoadÀï¡£ÓÃVBDE²é¿´£¬Form_LoadÔÚ00406A90,´ò¿ªW32dsm£¬ÔØÈëCasinoÂÖÅÌÖÇÄÜ»úÆ÷ÈË£¬²éÕÒ00406A90£¬·´»ã±à´úÂëÈçÏ£º
Quote:
:00406A90 55 push ebp
:00406A91 8BEC mov ebp, esp
:00406A93 83EC0C sub esp, 0000000C
* Possible StringData Ref from Code Obj ->"%?@"
|
:00406A96 68A6134000 &nbs ......
ʹÓÃVC±àдVBʹÓÃDLL
Ò»¡¢ÔÚº¯Êý¶¨ÒåÇ°±ØÐë¼ÓÉÏextern "c"£¬_stdcall¹Ø¼ü×Ö¡£
extern "C" int _stdcall Sum(int x,int y)
{
return x+y;
}
¶þ¡¢DLLµÄ.defÎļþÖбØÐë¼ÓÉÏÈë¿Úº¯Êý
EXPORTS
sample @1
sampleÊÇÄãÒªÔÚVBÖе÷Óõĺ¯ÊýÃû£¬@1±íʾ¸Ãº¯ÊýÔÚDLLÖеıàºÅ
Èý¡¢Òª×¢ÒâDLLÖеĺ¯ÊýºÍVBÖеĺ¯ÊýÉùÃ÷ÔÚÃû³Æ¡¢·µ»ØÀàÐÍ¡¢²ÎÊýÀàÐÍ¡¢²ÎÊý¸öÊýµÈ·½Ãæ±ØÐëÍêÈ«Ïàͬ£¬ÓÈÆäҪעÒâ´óСдµÄÎÊÌâ¡£
×¢ÒâÊÂÏ
1¡¢±ØÐë±£Ö¤VBºÍVCµÄ²ÎÊý¸öÊýÏàͬ£¬²ÎÊýËùÕ¼×Ö½ÚÊýÒ²Ò»ÖÂ
3£®Êý×é²ÎÊýÔÚDLLÖеĴ«µÝ
¡¡¡¡ÓÉÓÚDLL¾³£ÓÃÀ´½øÐÐһЩµ×²ãµÄÔËËã²Ù×÷£¬Òò´ËÓ¦ÓóÌÐò³£ÐèÒª´«µÝ´óÁ¿µÄÊý¾Ý¸øDLL¡£ÔÚC++ÖУ¬Ö¸ÕëÊǽøÐÐÊý×é²Ù×÷µÄ×î¼ÑÑ¡Ôñ£¬µ«VBÖÐûÓÐÖ¸ÕëµÄ¸ÅÄî¡£Õâͨ³£¿ÉÓÃÁ½ÖÖ·½·¨À´½â¾ö¡£
¡¡¡¡ÆäÒ»£¬ÔÚVBÖÐÉùÃ÷DLLʱ£¬ÓÃbyrefÀ´´úÌæbyval£¬¼´¿É½«Êý×éÖ¸Õë´«µÝ¸øDLL¡£
¡¡¡¡ÁíÍ⣬½«Êý×éÉùÃ÷Ϊ±äÌåÐÍ£¨variant£©£¬¼´¿ÉÖ±½Ó½«Êý×é´«µÝ¸øDLL¡£
ËÄ¡¢ÔÚvbÖÐÉùÃ÷£¨"dllTest.dll" ʹÓõÄÊÇÏà¶Ô·¾¶£¬Äã¿ÉÒÔ½«dll.dll·Åµ½.exeËùÔÚµÄĿ¼»òϵͳĿ¼£ ......
¿ÉÒÔɸѡÊý¾Ý£¬µ«²»ÄÜÊDZê×¼µÄSQLÓï¾ä£º
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.ɸѡ£º
dataset.tables("tabname").select("id=1")'Ï൱ÓÚSQLÖÐWHEREºóµÄÌõ¼þÄÚÈÝ
2.±£´æµ½ÄÄ£¿Õâµ¹ÊDz»Öª£¬¿ÉÄÜ¿ª±ÙÒ»¸öÄڴ棬Ҳ¿ÉÄÜÊÇÒ»¸öÁÙʱÇø....
Ó¦¸ÃÏ൱ÓÚ´ÓÒ»¸ö±íÖÐselect
---------------------------------------------------------------
Selectº¯Êý·µ»ØÒ»¸öDataRow()¶ÔÏóÊý×飬¿ÉÓÃÑ»··½·¨¼ÓÈëÊý¾Ý¼¯£º
dim row as datarow
dim rows() as datarow=Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
if rows.length>0 then DsUserManager1.table(0).clear'ÖØе¼ÈëɸѡµÄÊý¾Ý
for each row in rows
DsUserManager1.table(0).ImportRow(row)
next
---------------------------------------------------------------
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataDataTableClassSelect ......
¿ÉÒÔɸѡÊý¾Ý£¬µ«²»ÄÜÊDZê×¼µÄSQLÓï¾ä£º
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.ɸѡ£º
dataset.tables("tabname").select("id=1")'Ï൱ÓÚSQLÖÐWHEREºóµÄÌõ¼þÄÚÈÝ
2.±£´æµ½ÄÄ£¿Õâµ¹ÊDz»Öª£¬¿ÉÄÜ¿ª±ÙÒ»¸öÄڴ棬Ҳ¿ÉÄÜÊÇÒ»¸öÁÙʱÇø....
Ó¦¸ÃÏ൱ÓÚ´ÓÒ»¸ö±íÖÐselect
---------------------------------------------------------------
Selectº¯Êý·µ»ØÒ»¸öDataRow()¶ÔÏóÊý×飬¿ÉÓÃÑ»··½·¨¼ÓÈëÊý¾Ý¼¯£º
dim row as datarow
dim rows() as datarow=Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
if rows.length>0 then DsUserManager1.table(0).clear'ÖØе¼ÈëɸѡµÄÊý¾Ý
for each row in rows
DsUserManager1.table(0).ImportRow(row)
next
---------------------------------------------------------------
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataDataTableClassSelect ......
ÖØÊ°VBÖ®Èý£¬¶þ½øÖÆÎļþƪ
PMP ¹Ø¾¢ËÉ
¹íʹÉñ²î£¬09Äê12ÔÂÈëÖ°µÄ¹«Ë¾ÈÔʹÓÃVB¿ª·¢Èí¼þ£¬ËäÈ»²¢·Çרְ¿ª·¢£¬µ«Ò²²»µÃ²»ÔÚʸô4ÄêÖ®ºó£¬ÖØÐÂʹÓÃVB¡£
¶ÁÈ¡¡¢Ð޸Ķþ½øÖÆÎļþÈÔÊǴ󲿷ֱà³ÌÓïÑԵĻù±¾¿ª·¢¼¼ÄÜ¡£¿ÉÒÔÌá¸ß´¦ÀíÎļþЧÂÊ£¬Ö÷ÒªÓ¦ÓÃÔÚͨÐÅ¡¢½»»»Êý¾ÝµÈ·½Ãæ¡£
'open filename$ for binary #filenumber'ÒÔ¶þ½øÖÆ·½Ê½½¨Á¢»òÕß´ò¿ªÎļþ£¬È»ºóÔÙÓÃ
'Put #FileNumber, postion, inputdata 'дÈëÊý¾Ýinputdata£¬
'Get #FileNumber, postion, outputdata '¶Á³öÊý¾Ýµ½outputvarible
#FileNumber, ´ò¿ªµÄ¶þ½øÖÆÎļþÁ÷¡£
postion, ÎļþÖеÄÊý¾ÝλÖá£
inputdata ÊäÈëÊý¾Ý»º³å¡£¿ÉÒÔʹÓÃÊý×é»ò×Ö·û´®¡£
outputdata Êä³öÊý¾Ý»º³å¡£¿ÉÒÔʹÓÃÊý×é»ò×Ö·û´®¡£
´úÂë
Sub read()
Dim strFileName1, s As String
Dim aryContent(20) As Byte
strFileName1 = App.Path & "\test.hex"
Open strFileName1 For Binary As 1
Get #1, 120, aryContent() '´ÓÎļþÖÐ120×Ö½Ú´¦È¡³ö³¤¶È20µÄÊý¾Ýµ½Êý×éÖС£
msgbox(ary ......
¡¡¡¡Èç½ñOCX¿Ø¼þÔÚ±à³ÌÖÐÒÑÕ¼ÁìÁ˺ÜÖØÒªµÄµØλ,ÎÒÃÇ¿ÉÒÔÀûÓÃOCX¿Ø¼þÍê³ÉһЩÏ൱¸´Ôӵıà³Ì²Ù×÷.ͬʱOCX ¿Ø¼þ»¹ÓÐÀûÓÚÖ÷³ÌÐòµÄ¼òµ¥»¯¡¢¹¦ÄܵÄÖØÓá¢Òþ³£³ÌÐòʵÏÖϸ½Ú¡¢±ãÓÚÉý¼¶¡¢´«²¥·½±ãµÈÓŵ㡣ÏÖÔÚÎÒÃÇ¿ÉÒÔÀûÓÃVB 5.0·½±ãµÄÖÆ×÷³ö×Ô¼ºµÄOCX¿Ø¼þ¹©ÎÒÃÇÔÚ±à³ÌÖÐʹÓÃͬʱ»¹¿ÉÒÔ°ÑËüË͸øÄãÖÜΧϲ»¶±à³ÌµÄÅóÓÑ!
ÏÂÃæÁгöÖÆ×÷OCX¿Ø¼þµÄ²½Ö裺
Ò»£ºÐ½¨OCX ¡¡¡¡´ò¿ªVB 5.0Ñ¡Ôñн¨¹¤³ÌÔÚ¶Ô»°¿òÖÐÑ¡ÔñActiveX ¿Ø¼þ(Èçͼһ(map1.gif))´ò¿ªºó»á¼ûÒ»¿ÕµÄÎĵµÕâ¾ÍÊÇ OCX¿Ø¼þµÄ³õʼ½çÃæ¡£Ïë¿´Ò»¿´¿ÕOCX¿Ø¼þµÄЧ¹ûÂð?Ñ¡Ôñ“Ìí¼Ó¹¤³Ì”Ñ¡Öбê×¼EXE£¬ÕâʱÄã¾Í¿ÉÒÔÏñµ÷ÓÃÆäËü¿Ø¼þÒ»ÑùÔÚ×ó±ßµÄ¹¤¾ßÀ¸ÀïÑ¡Ôñ¸Õ²Åн¨µÄOCX¿Ø¼þͼ±ê·ÅÔÚ±ê×¼µÄEXEÎĵµÖп´Ò»¿´ÓÐʲôЧ¹û!(ʲôҲûÓÐ!) ×ÔÈ»ÒòΪ¸Õ²ÅµÄOCXÎĵµÊÇ¿ÕµÄÂï(·Ï»°Ì«¶à£¬Êý¸ö̵ÓÛÏòÎÒ·ÉÀ´)!
¶þ£º´´½¨½çÃæ
¡¡¡¡Ò»°ãÎÒÃÇÓÃVB´´½¨OCX¿Ø¼þ¶¼ÊÇÔÚÎÒÃǵĿؼþÀïÌí¼ÓÆäËüµÄ¿Ø¼þÀ´×éºÏ³ÉÒ»¸öÍêÕûµÄ¿Ø¼þ£¨Ò²¿ÉÒÔÈÃËüÖ»Íê³ÉijÖÖËã·¨£©±ÈÈ磺Äã¿ÉÒÔÔÚÉÏÃæÌí¼ÓÒ»°´Å¥¡¢±à¼¿òÕâʱÄãÔÙÓõÚÒ»²¿µÄ·½·¨¿´Ò»¿´Ð§¹û£¬ÊDz»ÊǿؼþÉ϶àÁËÒ»¸ö°´Å¥ºÍÒ»¸ö±à¼¿ò¡£
Èý£ºOCXÊôÐÔ
¡¡¡¡Ò»¸öOCX¿Ø¼þÓÐÐí¶àµÄÊôÐÔ£¬±ÈÈç¿Ø¼þ±³¾°ÊÇ·ñ͸Ã÷£¨BackStyle£© ......
'* ************************************************************** *
'* ³ÌÐòÃû³Æ£ºButton.ctl
'* ³ÌÐò¹¦ÄÜ£ºÍ¸Ã÷¸¡¶¯°´Å¤
'* ×÷Õߣºlyserver£¬×îºóÐÞ¸ÄÈÕÆÚ£º2009Äê11ÔÂ
'* ÁªÏµ·½Ê½£ºhttp://blog.csdn.net/lyserver
'* ************************************************************** *
Option Explicit
'----------------------------------------------------------------------
' API ÉùÃ÷
'----------------------------------------------------------------------
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function SetRect Lib "user32" (ByRef lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function OffsetRect Lib "user32" (ByRef lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib ......