execinfo.lpFile         = "c:\yyy\ddd.exe";  
这样能行么?不是"c:\\yyy\\ddd.exe" 吗?

解决方案 »

  1.   

    改为"c:\\yyy\\ddd.exe"也不行.
    怎么办?
      

  2.   

    让程序启动前先判断,当前用户是不是管理员,然后在做界面显示!!BOOL WINAPI GetUserName(
      __out         LPTSTR lpBuffer,
      __in_out      LPDWORD lpnSize
    );
      

  3.   

    我必须用Administrator 启动。
      

  4.   

    CreateProcessWithLogon() 填入对应的管理员帐号密码
      

  5.   

    谁能帮帮我? 
    , 我只需要用administrator用户启动, 而且要求只输入一次密码.
    CreateProcessWithLogon() 需要每次输入密码吧.
      

  6.   

    CreateProcessWithLogon() 需要每次输入密码吧你自己保存密码, 要用的时候区出来, ini, 注册表都可以
      

  7.   

    10樓方法很好,把你的密碼存在ini中,讀出來即可。
    另外運行程式不是用ShellExecute的嗎?我一直用這個的
      

  8.   

    写注册表 这东西在注册表中应该都有记录的 "c:\yyy\ddd.exe"; 把这个的注册表改成以管理员身份启动应该就行了
    DWORD type_1=REG_SZ;   
    DWORD cbData_1=255; 
    TCHAR owner_Set[32]; _tcsncpy(owner_Set, TEXT("WIN7RTM RUNASADMIN"), 32); int iLen = _tcsclen(owner_Set);
    //与RegQureyValueEx()类似,hKEY表示已打开的键的句柄,"RegisteredOwner"   
    //表示要访问的键值名,owner_Set表示新的键值,type_1和cbData_1表示新值。   
    //的数据类型和数据长度    long ret1=::RegSetValueEx(hKEY,cadPath, 0,   
    type_1, (LPBYTE)owner_Set,sizeof(TCHAR)*iLen);   相当于要启动的程序-右键属性-兼容性-以管理员身份运行(打钩)的功能