易语言吧 关注:266,700贴子:1,666,182

[CrStudio]让你的程序在运行时获取UAC

只看楼主收藏回复

如题,这个是翻CSDN + MSDN翻出来的,因为只有C#版的,所以做了一个易语言版的分享给大家
防吞贴2L继续


1楼2016-07-14 22:46回复
    先贴下载链接 http://pan.baidu.com/s/1kVPLpxd


    2楼2016-07-14 22:46
    回复
      (⊙o⊙)哦,你的crkeyboard呢


      IP属地:北京来自Android客户端3楼2016-07-14 22:48
      收起回复
        解释一下吧,ShellExecute是运行一个程序,我们通过这个API运行我们的程序自身,从而达到获取UAC的方法(但是执行完这个命令最好先用下一个API)
        IsUserAnAdmin是检测我们这个是不是已经提权了,这两个的用法我接下来会讲


        6楼2016-07-14 22:53
        回复
          我们只需要让程序获取UAC,所以无关的参数我就直接给出具体值了:
          ShellExecute (0, “runas”, 取运行目录 () + “\” + 取执行文件名 (), “”, “”, #SW_SHOWNORMAL)
          0,"runas",第二个“”这两个不用管,我们要说后面的几个
          .
          先说#SW_SHOWNORMAL
          这是一个常量,值是1
          (只是参照MSDN的写法而已,你可以直接填1)
          .
          取运行目录 () + "\" + 取执行文件名 () 这个是取程序的路径,毕竟这个是以UAC权限运行自身
          .
          取运行目录 () + "\" + 取执行文件名 () 后面的第一个“”是给程序运行的时候附加的命令行,如果有需求请自行添加
          .


          8楼2016-07-14 23:02
          回复
            这个获取到了UAC的进程你们可以让他启动的时候判断一下是否是UAC,如果是,你们就可以愉快地...


            10楼2016-07-14 23:07
            回复
              ------------教程结束--------------


              11楼2016-07-14 23:08
              收起回复
                12楼2016-07-14 23:08
                收起回复
                  来了 哈哈


                  IP属地:中国香港来自Android客户端13楼2016-07-15 02:09
                  收起回复
                    im 0.7


                    IP属地:黑龙江来自Android客户端14楼2016-07-15 10:56
                    收起回复
                      支持教程顶一下


                      IP属地:上海来自WindowsPhone客户端15楼2016-07-15 16:11
                      收起回复
                        。。设置,有个不要写命令就询问获取UAC权限的选项………


                        IP属地:广东来自Android客户端16楼2016-07-15 16:13
                        收起回复
                          有什么用。。。


                          IP属地:北京来自Android客户端17楼2016-07-15 16:17
                          收起回复
                            你们这些人都没听都是吧,我给你们解释一下:
                            比如@pplpplpplppl6 的c语言编辑器,每次启动都需要uac,但他这只是个ide啊,用不着那么高的权限,为什么他要申请那么高的权限呢?因为他会在主程序启动时启动检测更新的程序
                            但是
                            这个检测更新的程序需要uac特权
                            而易语言坑爹的“执行()”命令不能启动需要特权的程序,所以我们可以用这个api让没有特权的程序启动需要特权的程序


                            来自WindowsPhone客户端18楼2016-07-15 17:07
                            收起回复
                              xp表示懵逼


                              IP属地:浙江19楼2016-07-15 19:08
                              收起回复