




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
个人中心 我的主页 好友 消息dfgfdhygfh|装扮|设置|退出否极。泰来?主页博客相册|个人档案|好友|i贴吧 查看文章 vbCreateDesktop实现虚拟桌面2009/02/28 20:51Module1 引用:Public Declare FunctionGetThreadDesktopLibuser32(ByValdwThreadAs Long)As LongPublic Declare Function CreateDesktop Lib user32 Alias CreateDesktopA (ByVal lpszDesktop As String, ByVal lpszDevice As String, pDevmode As DEVMODE, ByVal dwFlags As Long, ByVal dwDesiredAccess As Long, lpsa As SECURITY_ATTRIBUTES) As LongPublic Declare FunctionCreateDesktopLibuser32AliasCreateDesktopA(ByVallpszDesktopAs String,ByVallpszDeviceAs String, pDevmodeAs Long,ByValdwFlagsAs Long,ByValdwDesiredAccessAs Long, lpsaAs Long)As LongPublic Declare FunctionSwitchDesktopLibuser32(ByValhDesktopAs Long)As LongPublic Declare FunctionSetThreadDesktopLibuser32(ByValhDesktopAs Long)As LongPublic Declare FunctionCloseDesktopLibuser32(ByValhDesktopAs Long)As LongPublic Declare FunctionOpenDesktopLibuser32AliasOpenDesktopA(ByVallpszDesktopAs String,ByValdwFlagsAs Long,ByValfInheritAs Boolean,ByValdwDesiredAccessAs Long)As LongPublic Declare FunctionRegisterHotKeyLibuser32(ByValhWndAs Long,ByValidAs Long,ByValfsModifiersAs Long,ByValvkAs Long)As LongPublic Declare FunctionSetWindowLongLibuser32AliasSetWindowLongA(ByValhWndAs Long,ByValnIndexAs Long,ByValdwNewLongAs Long)As LongPublic Declare FunctionCreateProcessLibkernel32AliasCreateProcessA(ByVallpApplicationNameAs String,ByVallpCommandLineAs String, lpProcessAttributesAs Long, lpThreadAttributesAs Long,ByValbInheritHandlesAs Long,ByValdwCreationFlagsAs Long, lpEnvironmentAsAny,ByVallpCurrentDriectoryAs String, lpStartupInfoAsSTARTUPINFO, lpProcessInformationAsPROCESS_INFORMATION)As LongPublic Declare FunctionCallWindowProcLibuser32AliasCallWindowProcA(ByVallpPrevWndFuncAs Long,ByValhWndAs Long,ByValMsgAs Long,ByValwParamAs Long,ByVallParamAs Long)As Long -Public ConstCCHDEVICENAME =32Public ConstCCHFORMNAME =32Public ConstMOD_CONTROL =&H2Public ConstWM_HOTKEY =&H312Public ConstGWL_WNDPROC = -4Public TypeSTARTUPINFO cbAs Long lpReservedAs String lpDesktopAs String lpTitleAs String dwXAs Long dwYAs Long dwXSizeAs Long dwYSizeAs Long dwXCountCharsAs Long dwYCountCharsAs Long dwFillAttributeAs Long dwFlagsAs Long wShowWindowAs Integer cbReserved2As Integer lpReserved2As Long hStdInputAs Long hStdOutputAs Long hStdErrorAs LongEnd TypePublic TypePROCESS_INFORMATION hProcessAs Long hThreadAs Long dwProcessIdAs Long dwThreadIdAs LongEnd TypePublic TypeDEVMODE dmDeviceNameAs String* CCHDEVICENAME dmSpecVersionAs Integer dmDriverVersionAs Integer dmSizeAs Integer dmDriverExtraAs Integer dmFieldsAs Long dmOrientationAs Integer dmPaperSizeAs Integer dmPaperLengthAs Integer dmPaperWidthAs Integer dmScaleAs Integer dmCopiesAs Integer dmDefaultSourceAs Integer dmPrintQualityAs Integer dmColorAs Integer dmDuplexAs Integer dmYResolutionAs Integer dmTTOptionAs Integer dmCollateAs Integer dmFormNameAs String* CCHFORMNAME dmUnusedPaddingAs Integer dmBitsPerPelAs Long dmPelsWidthAs Long dmPelsHeightAs Long dmDisplayFlagsAs Long dmDisplayFrequencyAs LongEnd TypePublic TypeSECURITY_ATTRIBUTES nLengthAs Long lpSecurityDescriptorAs Long bInheritHandleAs LongEnd Type -Public ConstGENERIC_ALL =&H10000000Public ConstDESKTOP_SWITCHDESKTOP =&H100Public ConstDESKTOP_CREATEMENU =&H4&Public ConstDESKTOP_CREATEWINDOW =&H2&Public ConstDESKTOP_ENUMERATE =&H40&Public ConstDESKTOP_HOOKCONTROL =&H8&Public ConstDESKTOP_JOURNALPLAYBACK =&H20&Public ConstDESKTOP_JOURNALRECORD =&H10&Public ConstDESKTOP_READOBJECTS =&H1&Public ConstDESKTOP_WRITEOBJECTS =&H80&Public ConstDESKTOP_ALL =511Public ConstMAXIMUM_ALLOWED =&H2000000 -PubliclpOldWinProcAs LongPublicg_hDesktopThreadOldAs Long正常桌面句柄Publicg_hDesktopNewAs Long, g_hDesktopNameNewAs String新建桌面的句柄和名称FunctionmyWindowProc(ByValhWndAs Long,ByValuMsgAs Long,ByValwParamAs Long,ByVallParamAs Long)As LongIfuMsg = WM_HOTKEYThenIfwParam =2Andg_hDesktopNew 0Then SwitchDesktop g_hDesktopNewEnd IfIfwParam =1Then SwitchDesktop g_hDesktopThreadOldEnd IfEnd IfmyWindowProc = CallWindowProc(lpOldWinProc, hWnd, uMsg, wParam, lParam)End FunctionSubStartMyExplore(theEXEStrAs String)DimsuiAsSTARTUPINFO, piAsPROCESS_INFORMATIONsui.cb = Len(sui)sui.lpDesktop = g_hDesktopNameNewCreateProcess vbNullString, theEXEStr,ByVal0&,ByVal0&,1,&H4000000Or&H800,ByVal0&, vbNullString, sui, piEnd SubForm1 引用:Private SubCommand1_Click()Ifg_hDesktopNew 0ThenSwitchDesktop g_hDesktopNew切换到新桌面End IfEnd SubPrivate SubCommand2_Click()StartMyExplore Text1.Text在新桌面运行程序End SubPrivate SubForm_Load()g_hDesktopThreadOld = GetThreadDesktop(App.ThreadID) 得到正常的桌面句柄RegisterHotKey Me.hWnd,1, MOD_CONTROL, Asc(Q) 注册热键RegisterHotKey Me.hWnd,2, MOD_CONTROL, Asc(W) 注册热键g_hDesktopNameNew =MyNewDesktopg_hDesktopNew = OpenDesktop(g_hDesktopNameNew,0,False, DESKTOP_ALL)如果新桌面已经存在,就打开它Ifg_hDesktopNew =0Theng_hDesktopNew = CreateDesktop(g_hDesktopNameNew, vbNullString,ByVal0&,0, MAXIMUM_ALLOWED,ByVal0&) 如果不存在,就新建一个End IfCallSetThreadDesktop(g_hDesktopNew)lpOldWinProc = SetWindowLong(Me.hWnd, GWL_WNDPROC, AddressOf myWindowProc) 子类化主窗口,接收热键消息End SubPrivate SubForm_Unload(CancelAs Integer)Ifg_hDesktopNew 0ThenCloseDesktop g_hDesktopNew关闭新建的桌面句柄End IfSetWindowLong Me.hWnd, GWL_WNDPROC, lpOldWinProcEnd Sub类别:技术| | 添加到搜藏 | 分享到i贴吧 | 浏览(1939) | 评论 (14) 上一篇:当全国人民被“躲猫猫”的时候. 下一篇:小语:要把政党精神和民族精神分. 最近读者:sacredmagic小_埃cxboooooooGXResonancezackelCIW_BLUEihquAisaCvv 网友评论:1CarrotLoveBall2009/02/28 21:15 | 回复不错 3网友:KC2009/02/28 22:06 | 回复BS 百毒,把我的评论Del了再来支持下皇后ps:为什么网址填/就被DEL?可疑 4MDSA技术组2009/02/28 23:42 | 回复回复KC:佛曰:不可说 5MDSA技术组2009/02/28 23:46 | 回复回复KC:还有,你这个博客怎么打不开?spot要代理? 6网友:KC2009/03/01 12:00 | 回复回复MDSA技术组:打不开?莫非是被你的ISP 给墙了?可能需要自由门MD 7MDSA技术组2009/03/01 15:17 | 回复回复KC:UNKNOWN 8网友:KC2009/03/04 13:08 | 回复回复MDSA技术组:米办法,天朝局域网 9我才是哈姆雷特2009/03/18 17:38 | 回复谢谢,学习了,感谢源代码共享 10ForeverBell2009/03/18 18:44 | 回复VC的字体。VB的代码。 11MDSA技术组2009/03/22 15:20 | 回复回复ForeverBell:从NP复制过来就成这样了,不知道为什么 12网友:XINXIN2010/01/09 18:37 | 回复在吗?请问这个函数能不能在别的开发工具和语言环境中调用?如果能,能麻烦楼主教我一下吗?我可以支付50元的,学习费用。了表心意。工作需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年度绩效考核培训课件
- 年度汽车安全培训总结课件
- 年度安全培训课件安排
- 年底安全培训报告总结课件
- 威猛安全培训课件
- 虎林事业单位笔试真题2025
- 威尼斯小艇课件教学
- 工业安全知识培训资料课件
- 平面向量分解定理课件
- Flurbiprofen-CoA-Flurbiprofen-coenzyme-A-生命科学试剂-MCE
- 2025年辅警招聘考试试题库及完整答案(历年真题)
- 马克思主义政治经济学第2章-货币课件
- 管理核心五任务版权课程课件
- 学术规范与论文写作讲述课件
- 七年级数学学习·探究·诊断上册
- 实验室内质控记录表格完整
- 基层医疗机构抗菌药物合理使用
- 肾动脉狭窄介入治疗PPT课件(PPT 30页)
- 10kV架空线路设计PPT课件(PPT 69页)
- Q∕GDW 12174-2021 智能量测开关技术规范
- 幼儿园绘本:《小宣传员》 红色故事
评论
0/150
提交评论