搜索
查看: 6854|回复: 11

[已解决]问一个问题,aardio取硬盘物理序列号,在vista、7系统下返回null

  [复制链接]

12

主题

33

帖子

193

积分

一级会员

Rank: 2

积分
193
发表于 2012-3-27 08:56:00 | 显示全部楼层 |阅读模式
本帖最后由 xauto 于 2012-6-4 20:00 编辑

应该是没有管理员权限引起的问题,取分区序列号可以,但取硬盘物理序列号就不行了。
请问怎样才能把程序搞成需要管理员权限才能运行?
回复

使用道具 举报

65

主题

953

帖子

5036

积分

荣誉会员

Rank: 8Rank: 8

积分
5036
发表于 2012-3-27 10:46:50 | 显示全部楼层

google WIN7 获取 运行 权限

google WIN7 获取 运行 权限
aaa
回复

使用道具 举报

0

主题

35

帖子

189

积分

一级会员

Rank: 2

积分
189
发表于 2012-3-27 11:12:07 | 显示全部楼层

[i=s] 本帖最后由 xauto 于 2012-3-29 18:38 编辑 [/i] [align=left][align=left][font=新宋体]

本帖最后由 xauto 于 2012-3-29 18:38 编辑

import win.ui;
/*DSG{{*/
var winform = win.form( bottom=399;parent=...;right=599;text="aardio Form" )
winform.add(
button={ bottom=102;text=
"应用管理员权限重启本软件";left=57;top=43;z=1;right=335;cls="button" }
)
/*}}*/

_BCM_FIRST = 0x1600;
_BCM_SETSHILED = _BCM_FIRST + 0x000C;
::SendMessageInt(winform.button.hwnd, _BCM_SETSHILED, 0, 1);  

winform.button.oncommand =
function(id,event){
   
import process;
    process.
execute( io._exepath ,  ,"runas");
    win.quitMessage();
}

winform.show()
win.loopMessage();
回复

使用道具 举报

20

主题

155

帖子

930

积分

三级会员

Rank: 4

积分
930
发表于 2012-3-27 18:28:32 | 显示全部楼层

原来是管理员权限

原来是管理员权限
回复

使用道具 举报

1

主题

15

帖子

89

积分

培训班

积分
89
发表于 2012-3-28 10:10:18 | 显示全部楼层

楼主在关闭了UAC的前提下是否有问题?

楼主在关闭了UAC的前提下是否有问题?
回复

使用道具 举报

12

主题

33

帖子

193

积分

一级会员

Rank: 2

积分
193
 楼主| 发表于 2012-3-29 10:30:53 | 显示全部楼层

回复二楼: 我的意思是,想软件在Win7、Vista环境下,必须使用管理员权限来运行(目的是能够获取硬盘物理序列号,用来生

回复二楼:
                  我的意思是,想软件在Win7、Vista环境下,必须使用管理员权限来运行(目的是能够获取硬盘物理序列号,用来生成机器码)。

回复三楼:
                  谢谢大哥,运行了一下代码,提示RAW CALLBACK ERROR错误,15行


回复五楼:

                  不知道你指的是什么问题?



==================

另外有个思路,不知道可行不,麻烦各位回答下:


发布成EXE后,右键“兼容性”,选择“以管理员身份运行此程序”,然后再打包发上网给用户下载使用。

同时在软件里面,做一个判断,如果获取不了硬盘物理序列号,就提示“必须以管理员身份运行”(避免部分人下载后取消了管理员身份运行的特权)
回复

使用道具 举报

12

主题

679

帖子

4008

积分

荣誉会员

子非魚、安知魚之樂

Rank: 8Rank: 8

积分
4008
发表于 2012-3-29 18:39:45 | 显示全部楼层

[quote][size=2][color=#999999]googleabc 发表于 2012-3-29 10:30[/color] [url=forum.p

googleabc 发表于 2012-3-29 10:30
回复二楼:
                  我的意思是,想软件在Win7、Vista环境下,必须使用管理员权限来运行(目的是 ...

二楼代码少了一句
  1. import process;
复制代码
已编辑
回复

使用道具 举报

11

主题

38

帖子

312

积分

二级会员

Rank: 3Rank: 3

积分
312
发表于 2012-3-30 15:49:37 | 显示全部楼层

有沒有方法可以不用按鈕來使用管理員權限?

有沒有方法可以不用按鈕來使用管理員權限?
回复

使用道具 举报

12

主题

679

帖子

4008

积分

荣誉会员

子非魚、安知魚之樂

Rank: 8Rank: 8

积分
4008
发表于 2012-6-4 19:59:50 | 显示全部楼层

[quote][size=2][color=#999999]chan0202 发表于 2012-3-30 15:49[/color] [url=forum.ph

chan0202 发表于 2012-3-30 15:49
有沒有方法可以不用按鈕來使用管理員權限?

import process;
process.
execute( "notepad.exe",  ,"runas");

回复

使用道具 举报

0

主题

11

帖子

65

积分

一级会员

Rank: 2

积分
65
发表于 2016-5-23 21:30:44 | 显示全部楼层

回去再试!!!mark

回去再试!!!mark
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2016-5-23 22:36:39 | 显示全部楼层

下面的代码取序列号不要管理权限(可能少数硬盘不支持):[quote][color=#0000ff]import[/color][color=#000000] c

下面的代码取序列号不要管理权限(可能少数硬盘不支持):
import console;

import sys.storage;
var devices = sys.storage.getDevices()
for(idx,drives in devices){
   
var property = sys.storage.queryProperty( idx );
   
if(!property) continue ;
    console.log( property.productId )
    console.log( property.serialNumber )
   
for(j=1;#drives;1){
        console.log( drives[j] )
    }  
}

console.pause();

回复

使用道具 举报

2

主题

22

帖子

171

积分

一级会员

Rank: 2

积分
171
发表于 2018-9-1 20:39:49 | 显示全部楼层
xauto 发表于 2012-6-4 19:59
import process;
process.execute( "notepad.exe",  ,"runas");

解决了大问题                                                                                                                                                                  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-15 16:51 , Processed in 0.078125 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表