标题:帮我看看我写的程序。
只看楼主
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
结帖率:89.13%
 问题点数:0 回复次数:4 
帮我看看我写的程序。
程序代码:
Private Sub Form_Load()
Form1.Visible = False
Dim a As String
Dim b As String
Dim s As String
a = App.Path & "\" & App.EXEName & ".exe"
b = "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
s = Dir(b, vbDirectory)
If s = "" Or a <> b Then
FileCopy a, b
End If
Open "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat" For Output As #1
Print #1, "attrib +R +A +S +H " & App.EXEName & ".exe"
Close #1
Shell "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat"
MsgBox "这是一个测试程序,这个程序弹出,表示具有只读、系统、存档、隐藏属性的程序也是可以在启动项中运行的。", 0, "提示"
End Sub



程序在桌面上运行后,本来应该向 C:\Documents and Settings\All Users\「开始」菜单\程序\启动\里自己的复制体添加属性,为何把属性添加到了自身?求解?????
2012-05-22 17:20
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
Print #1, "attrib +R +A +S +H " & App.EXEName & ".exe"

这句不带路径,当它执行时,以当前路径为准。
那么当前路径在哪?
在这里:
Shell "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat"
你在当前路径,也就是本身的位置执行 启动里的这个批处理文件。 自然执行时,是在当前路径找文件,结果找到本身。

修改建议:
Print #1, "attrib +R +A +S +H C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-22 21:33
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
最终代码我修改成这样了:
程序代码:
Private Sub Form_Load()
Form1.Visible = False
Dim a As String
Dim b As String
Dim s As String
a = App.Path & "\" & App.EXEName & ".exe"
b = "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
s = Dir(b, vbDirectory)
If s = "" Or a <> b Then
FileCopy a, b
End If
Open "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat" For Output As #1
Print #1, "attrib +R +A +S +H C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
print#1, "del %0%"
Close #1
Shell "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat",vbhide
MsgBox "这是一个测试程序,这个程序弹出,表示具有只读、系统、存档、隐藏属性的程序也是可以在启动项中运行的。", 0, "提示"
End Sub




但是:启动项生成的批处理并没有执行了。郁闷!直接运行这个批处理也没有用了。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-05-23 08:22
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
忘了一件事,
因为 你的路径里包括空格,所以要加上双引号
"attrib +R +A +S +H C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
改为
"attrib +R +A +S +H ""C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"""

你再试试。

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-23 08:29
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
得分:0 
成功了,感谢版主。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-05-23 09:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-367882-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.268785 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved