易语言吧 关注:266,032贴子:1,663,763

[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
        回复
          易语言5。5 设置 系统设置 存根 UAC


          IP属地:广东来自iPhone客户端7楼2016-07-14 22:56
          收起回复
            我们只需要让程序获取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
                              收起回复