[face=Lucida Console][face=Andale Mono][face=Lucida Console]如题,Windows桌面程序, C#, Image.FromFile(string filename),然后显示;
文件名直接写在配置文件里,偷懒用的相对路径,
ImageFileList = "1.png|2.png|3.png",图片直接丢在程序目录里;
以前一直相安无事,今天换了台机器,无人值守么就直接写在注册表的RUN键做自启动了,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
结果发现程序启动以后load图像失败,debug模式发现压根没读到文件,手动双击运行就没毛病。
试了下,用CreateProcess函数打比方,就是CurrentDirectory这个参数没传进去导致的,
进程工具看了下,读图片失败时候的CurrentDirectoy是windows system32目录(如附图),
改成快捷方式丢在开始菜单启动项里就好了,老程序不想改了。
现在就是想知道,从注册表HKLM RUN这里启动的话,要怎么加参数让它能把程序当前目录压进去?
--
修改:vmx FROM 115.193.225.*
FROM 115.193.225.*