VB 小问题(内详)

如何在一个已经启动了的windows中 用不同的 windows账户 启动同一程序,例如:
我要启动2个QQ,我现在的用户名是:admin,那如果我直接启动QQ的话那就算是在admin中启动了一个QQ号;那我的系统上还有其他的帐户存在,例如:admin-two,这就是我想知道的如何在admin的帐户下以 admin-two,的名字启动另一QQ,请高手指导下,谢谢!

1-右键点QQ图标, 选择 运行方式, 在弹出的对话框中 选 下列用户 ,输入另一个用户的用户名密码 , 确定即可

2-runas /user:xxx QQ.EXE

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-03
XP或者NT有个自带的命令
runas
你可以用vb的shell函数,拿来调用
runas 的具体用法如下:
RUNAS 用法:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/user:<UserName> program

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/smartcard [/user:<UserName>] program

/noprofile 指定不应该加载用户的配置文件。
这会加速应用程序加载,但
可能会造成一些应用程序运行不正常。
/profile 指定应该加载用户的配置文件。
这是默认值。
/env 要使用当前环境,而不是用户的环境。
/netonly 只在指定的凭据限于远程访问的情况下才使用。

/savecred 用用户以前保存的凭据。
Windows XP Home Edition 上没有这个选项。
该选项会被忽略。
/smartcard 如果凭据是智能卡提供的,则使用这个选项。

/user <UserName> 应使用 USER@DOMAIN 或 DOMAIN\USER 形式
program EXE. 的命令行。请参阅下面的例子

例如:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

注意: 只在得到提示时才输入用户的密码。
注意: USER@DOMAIN 跟 /netonly 不兼容。
注意: /profile 跟 /netonly 不兼容。
第2个回答  2009-06-12
放在公共模块里

===============
Private Const LOGON_WITH_PROFILE = &H1&
Private Const LOGON_NETCREDENTIALS_ONLY = &H2&
Private Const CREATE_DEFAULT_ERROR_MODE = &H4000000
Private Const CREATE_NEW_CONSOLE = &H10&
Private Const CREATE_NEW_PROCESS_GROUP = &H200&
Private Const CREATE_SEPARATE_WOW_VDM = &H800&
Private Const CREATE_SUSPENDED = &H4&
Private Const CREATE_UNICODE_ENVIRONMENT = &H400&
Private Const ABOVE_NORMAL_PRIORITY_CLASS = &H8000&
Private Const BELOW_NORMAL_PRIORITY_CLASS = &H4000&
Private Const HIGH_PRIORITY_CLASS = &H80&
Private Const IDLE_PRIORITY_CLASS = &H40&
Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const REALTIME_PRIORITY_CLASS = &H100&

Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type

Private Type STARTUPINFO
cb As Long
lpReserved As Long
lpDesktop As Long
lpTitle As Long
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Byte
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Private Declare Function CreateProcessWithLogon Lib "Advapi32" Alias "CreateProcessWithLogonW" (ByVal lpUsername As Long, ByVal lpDomain As Long, ByVal lpPassword As Long, ByVal dwLogonFlags As Long, ByVal lpApplicationName As Long, ByVal lpCommandLine As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInfo As PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Public Function RunAs(lpUsername, Optional lpPassword = "", Optional lpApplicationName = "", Optional lpCommandLine = "") As Boolean
Dim StartInfo As STARTUPINFO, ProcessInfo As PROCESS_INFORMATION
StartInfo.cb = LenB(StartInfo)
RunAs = CreateProcessWithLogon(StrPtr(lpUsername), 0, StrPtr(lpPassword), LOGON_WITH_PROFILE, StrPtr(lpApplicationName), StrPtr(lpCommandLine), CREATE_DEFAULT_ERROR_MODE Or CREATE_NEW_CONSOLE Or CREATE_NEW_PROCESS_GROUP, ByVal 0&, 0, StartInfo, ProcessInfo)
CloseHandle ProcessInfo.hThread
CloseHandle ProcessInfo.hProcess
End Function
==============

runas "admin-two", ,<QQ路径>
everything is Okay!!!本回答被提问者采纳
第3个回答  2009-05-25
右键点QQ图标
选择 运行方式
在弹出的对话框中 选 下列用户
输入另一个用户的用户名密码
确定即可
第4个回答  2009-05-27
切换用户 到admin-two然后启动QQ。
或安装虚拟机。在虚拟机中运行QQ。

VB 小问题(内详)
1-右键点QQ图标, 选择 运行方式, 在弹出的对话框中 选 下列用户 ,输入另一个用户的用户名密码 , 确定即可 2-runas \/user:xxx QQ.EXE

问一个VB里select case语句的很基础问题。。(内详)
case后面的IS只能执行一个范围,如IS>0,IS<60那么只会执行IS>0这个,所以你的代码就有问题了,效果不是你想要的,可以用To表示范围的,你改写成如下的代码就OK了。Private Sub Command1_Click()Dim A As Single A = Val(Text1.Text)Select Case A Case 0 To 60 MsgBox ("不及格")Case 60...

VB的label控件数组问题,内详谢谢!
Private Sub Form_Load()List1.AddItem "0", 0 List1.AddItem "1", 1 End Sub Private Sub Label1_Click(Index As Integer)If Index = List1 Then Label1(Index).Caption = "好"End Sub 这样绝对可以……

VB过程太大,能否有办法简化或者减少语句,具体情况内详
没有这种干法吧,还需要自己将N多种组合一一用程序列出来。如果实在是需要这做,你可以将各种组合的条件及结果放在一个数据库中,然后根据条件查找数据就好。问题表述的不够清楚,也不知道理解的对不对,姑且一说。

VB与VC的区别?我选择哪个比较合适呢?内详
VC功能强大些,但不容易学。如果想快速解决问题而VB就可以的话,可以考虑VB

我下一步该学什么(内详)
如果你想在计算机方面找工作的 你可以学习一下软件工程、数据结构、项目管理等知识 毕竟写代码是最底层的工作,要争取做系统分析员或者项目经理就 比较有前途了。况且你也不可能编一辈子的代码啊

VB中,"回车"也是字符吗,代码内详
可以输入的,回车是一个换行符号,要设置文本框的 MultiLine 设为 true 才能接收回车符号

VB中inStr和nStr有什么区别?内详。知道的帮忙下,谢谢。
instr 是一个VB内置函数,负责返回 指定一字符串在另一字符串中最先出现的位置。使用方法 InStr([start, ]string1, string2[, compare])如:Private Sub Form_Load()MsgBox InStr("PromiseForever", "i")End Sub 将会显示5.你说的nStr呢,是上面这段代码的一个普通变量,你可以叫其他的也没...

在VB中怎么在if语句中用Call啊?(内详)
你if后面的条件判断写的不太合理,程序要求if后的条件一定是bool型的。if后的条件要看你具体要实现什么而确定,此外call是子函数的调用语句。看了你的调用,好像是调用按钮了,这个是不太合理的。

急求计算机导论论文。要求内详。尽量原创。好处多多,加分多多!谢谢了...
要求内详。尽量原创。好处多多,加分多多!谢谢了! 题目要求-自选-方向(谈谈你对计算机专业的认识,四年学习的设想,创业计划)-建议1、对计算机及计算机学科体系的理解2、计算机系统(硬件+软件)3、计算机软件知识的相关课程4、计算... 题目要求-自选-方向(谈谈你对计算机专业的认识,四年学习的设想,创业计划)-建议1...

相似回答
大家正在搜