几个我急于想知道的问题!

MMX 2000-03-08 11:59:00
请问,
1.如何通过编程屏蔽掉某些win95的系统功能键,如Win_F,Win_R.
2.如何屏蔽资源管理器的鼠标右键菜单.
3.如何自行设计win95的开始菜单.

...全文
292 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackzhu 2000-03-14
  • 打赏
  • 举报
回复
你的Email
zzj@ufsoft.com.cn
MMX 2000-03-14
  • 打赏
  • 举报
回复
Jack大侠!
您已完成了MMX付于的光荣任务,请去CSDN领奖吧!我会发个题为”请Jack大侠领奖的通知“的帖子,分数100分,您用Jack去一下我就会给分。我希望您能记下我的mail,想交个朋友嘛,行不?常通信吧!
MMX 2000-03-11
  • 打赏
  • 举报
回复
我就是这个问题的主人---MMX,其实这是我替一位网友的提问。他问我,我作了回复(可以上我的主页http://hugesoft.163.net的留言薄去看),但我认为我的回答有点问题,所以才上这里请教各位。对于第一个问题,我的回答与 JJONY 朋友的方法一模一样但我认为这不好,因为SystemParamInfo函数不能屏蔽特定的系统功能键,它太霸道,连Ctr+Alt+Del也被屏蔽。对于第三个问题,我的理解是应使用编程的方式,我是使用CoCreateInstance函数在桌面与开始菜单中的相应位置创建程序的快捷方式,我以为还是我自已的方法对^O^。第二个问题我也想到了使用“钩子”,但在我太菜了吧,在具体编程的时候有问题,所以我将一个程序框架寄给了Jackzhu与redoak2000两位大侠希望两位能帮我一下,好人作到底嘛!在此我很感激各位大侠的鼎力相助,但我只能给Jackzhu与redoak2000两位大侠加分。如果两位能帮我将我的程序补完我还会再给你100分,绝不食言。
JJONY 2000-03-11
  • 打赏
  • 举报
回复
对于第2,3项问题,之前的大虾就说得很清楚了,我要补充一句就是第1个问题你可以用
API:SystemParamInfo函数使用参数为97(即是屏幕保护方式)就可以屏蔽系统功能键.
zengyee 2000-03-11
  • 打赏
  • 举报
回复
试一试shell api...
NoBug 2000-03-10
  • 打赏
  • 举报
回复
关于如何自行设计win95的开始菜单,可从两个方面着手:
1。右键单击任务条,在开始菜单的高级选项中修改其内容
2。修改注册表
可修改
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explore\User Shell Folders
子键下的键值,具体内容见Policy Editor(策略编辑器) 中的说明
Jackzhu 2000-03-09
  • 打赏
  • 举报
回复
钩子函数可以完成前面两种情况
自行设计到什么程度?如果只是简单修改,只要在文件目录下添加文件就可以了。
redoak2000 2000-03-09
  • 打赏
  • 举报
回复
钩子函数可以解决前两个问题,第三个太怪了不妨将system.ini中的Shell=???改为shell=yourexe.exe,然后不知你是否就可以Do everything you like.

钩子函数SetWindowsHookEx可以设定几种不同类型的钩子。
其原型为
HHOOK SetWindowsHookEx(
int idHook,//Hook的类型
HOOKPROC lpfn,//Hook函数的lp
HINSTANCE hModule,//Hook所在程序的HINSTANCE
DWORD dwThreadId//安装Hook的目标线程的ID
);
作用域为Thread or Process的钩子类型可以是:
WH_CALLWNDPROC,WH_CALLWNDPROCRET,WH_CBT,WH_DEBUG,WH_GETMESSAGE,
作用域仅为System的有:
WH_JOURNALPLAYBACK,WH_JOURNALRECORD,WH_SYSMSGFILTER
作用域可为System or Thread 的有:
WH_KEYBOARD,WH_SHELL,WS_MSGFILTER,WH_MOUSE

关于相应的钩子的详细信息可看MSDN相关文档,但一般由名字也可略知一二。

*如果dwThreadId为NULL或指向另一个进程中的Thread,lpfn必须指向DLL中的fn.此时hModule为DLL的标志。
*如果dwThreadId指向当前进程中的Thread,hModule必须为NULL。
*如果dwThreadId为NULL,则Hook过程同存在的所有Thread关联。
*在Hook中可调用CallNextHookEx.
*程序结束前必须调用UnhookWindowsHookEx解除钩子。
OK?
You can try it yourself!!
*
MMX 2000-03-09
  • 打赏
  • 举报
回复
能否说得具体一些?说得好得话这150分可好象全是您老兄的了!^O^

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧