zjg2003 发表于 2009-5-22 19:19:53

关于“虚拟桌面”的问题----WinLockDll.dll

本帖最后由 zjg2003 于 2009-5-24 00:23 编辑

Private Declare Function Process_Desktop Lib "WinLockDll.dll" (ByVal szDesktopName As String, ByVal szPath As String) As Integer

Private Sub Hide_DeskProcess_Click()
    If Me! Then
      Process_Desktop "MyDesktop", "Calc.exe"
    Else
      
    End If
End Sub


这个是VB的代码,第一段声明。
运行后在新桌面打开计算器,关了就回到真实桌面。我现在改在运行“explorer.exe”就创建了一个新的桌面,要如何切换到真实桌面呢?
还有要如何实现如果用这个打开多个桌面,并用热键在不同桌面切换呢???

kayiwa 发表于 2009-5-23 00:04:28

WinLockDll.dll有这个文件吗?

sanhen 发表于 2009-5-23 01:18:03


DllCall("WinLockDll.dll", "int", "Process_Desktop", "str","MyDesktop","str","Calc.exe")

sanhen 发表于 2009-5-23 01:19:07

多个桌面的直接用系统API操作切换吧。这个DLL的功能也只是封装了系统的API而巳。

zjg2003 发表于 2009-5-24 00:23:24

虽然不是很明白,但还是谢谢三恨给我指了条明路

imnebula 发表于 2010-1-7 07:48:48

回复 4# sanhen

请问SANHEN,您说的这个,具体怎么做呢?
能给一个代码,让我调试参考一下吗。谢谢您。

imnebula 发表于 2010-1-7 10:41:04

本帖最后由 imnebula 于 2010-1-7 10:44 编辑

回复 3# sanhen
我下载了您提供的WINLOCKDLL.DLL文件。

然后测试了这个语句。可以切换到新窗口。
DllCall("WinLockDll.dll", "int", "Process_Desktop", "str","MyDesktop","str","Calc.exe")
但是我发现这个语句之后的代码就不被执行了,除非手动关掉这个CALC.EXE回到原桌面才会继续执行
下面的代码。
我查了DLLCALL的帮助文档,但是还是搞不清楚怎么弄,WINLOCKDLL如何控制和操作。您有它的文档吗?
我想请教的是能不能:实现
1、执行新桌面并在新桌面中执行后面的代码
2、执行新桌面时用户还停留在原桌面,只当执行指定快捷键后,才会切换至新桌面,而不是直接打开。
页: [1]
查看完整版本: 关于“虚拟桌面”的问题----WinLockDll.dll