在9X和在2000/XP中有不同吗?如何分别实现,请教了。
--------------用下面这种方法后说“找不到DLL入口点-----------------
Option ExplicitPrivate Declare Function GetCurrentProcessId Lib "kernel32" () As LongPrivate Declare Function GetCurrentProcess Lib "kernel32" () As LongPrivate Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As LongPrivate Const RSP_SIMPLE_SERVICE = 1Private Const RSP_UNREGISTER_SERVICE = 0    Private Sub MakeMeService()    Dim pid As Long    Dim reserv As Long    pid = GetCurrentProcessId()    RegisterServiceProcess pid, RSP_SIMPLE_SERVICEEnd Sub    Private Sub UnMakeMeService()    Dim pid As Long    Dim reserv As Long    pid = GetCurrentProcessId()    RegisterServiceProcess pid, RSP_UNREGISTER_SERVICEEnd Sub    Private Sub Command1_Click()    Call MakeMeService 'ʹ´°¿ÚÒþ²ØEnd Sub    Private Sub Command2_Click()    Call UnMakeMeService  'ʹ´°¿ÚÏÔʾEnd Sub
-------------------------------------------

解决方案 »

  1.   

    我的解决方法你可以参考一下:
    使用 Findwindow API 查找"关闭程序"对话框或者"任务管理器"的句柄,然后Sendmessage API 发送 WM_CLOSE 消息即可.
    把这个过程放在一个计时器过程中,间隔为1即可.这样用户按下Ctrl+Alt+Del后"关闭程序"对话框或者"任务管理器"立刻被关闭.
      

  2.   

    对不起,我只是一个初学者,SWORDDX这样说我不明白,可不可以给我一段示例代码?
      

  3.   

    可以用SystemParametersInfo来获取windows系统参数,来禁用这三个键。模块:
    Sub DisableCtrlAltDelete(bDisbaled as boolean)
    dim x as long
    x=SystemParametersInfo(97,bDisabled,CStr(1),0)
    End Sub
    然后在你想禁用这三个键的地方加上一句代码
    DisableCtrlAltDelete(true)就可以了
    但要记得在程序结束时加上:
    DisableCtrlAltDelete(false)
    不然就以前做的一个屏保用到了(我把鼠标限制在一个区域中,然后禁用那三个键,嘿~~没密码就只有重启,如果你愿意的话还可以改一下注册表,使程序在98运行时就加载,那样重启后别人也没办法动你的电脑)
      

  4.   

    风老师,我试验了一下,说bDisabled未定义!
      

  5.   

    还是不能解决呀,拜托大家有没有在XP下和9X下的解决方法呀?屏蔽这三个键组合?
      

  6.   

    在xp和2000下,实现屏蔽这个3个组合键的最简单方法就是修改注册表。
    HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\WinLogon
      

  7.   

    在2000下屏蔽Ctrl-Alt-Del例程  
     
    http://www.8421.org/download.php?id=163
      

  8.   

    别忘了给我加分喔Option Explicit
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const WM_CLOSE = &H10'在窗体上放置一个Timer1,Interval为1
    Private Sub Timer1_Timer()
        CloseWin
    End SubPrivate Sub CloseWin()
    Dim ihWnd As Long     '定义一个句柄长整变量
        ihWnd = FindWindow(vbNullString, "关闭程序") '查找关闭程序对话框
        If ihWnd = 0 Then Exit Sub '如果对话框不存在(hwnd为0)则跳过下面的动作
        SendMessage ihWnd, WM_CLOSE, &H0, &H0 '关闭对话框
    End Sub