Làm sao để thực hiện câu lệnh Run Cmd as Administrator (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Quang_Hải

Thành viên gạo cội
Tham gia
21/2/09
Bài viết
6,074
Được thích
8,005
Nghề nghiệp
Làm đủ thứ
Mình có viết code thử đăng ký cho FlashShockWave bằng code này nhưng không thể Load được file vào hệ thống.
Khi đăng ký thủ công:
1. Nếu khi chạy lệnh cmd mà ta chọn Run as administrator thì mọi thứ ok
2. Nếu không chọn Run as administrator khi khởi động cmd thì không load được file.

******
Cho nên mình đoán là code này chạy theo kiểu không có quyền admin nên không load file được
Không biết là có cách nào khắc phục hay không
PHP:
Sub RegFlash()
Dim sComm As String
  sComm = "Regsvr32 C:\Windows\System32\Macromed\Flash\Flash11c.ocx"
  CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
End Sub
 
Mình có viết code thử đăng ký cho FlashShockWave bằng code này nhưng không thể Load được file vào hệ thống.
Khi đăng ký thủ công:
1. Nếu khi chạy lệnh cmd mà ta chọn Run as administrator thì mọi thứ ok
2. Nếu không chọn Run as administrator khi khởi động cmd thì không load được file.

******
Cho nên mình đoán là code này chạy theo kiểu không có quyền admin nên không load file được
Không biết là có cách nào khắc phục hay không
PHP:
Sub RegFlash()
Dim sComm As String
  sComm = "Regsvr32 C:\Windows\System32\Macromed\Flash\Flash11c.ocx"
  CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
End Sub

thử mấy hàm API xem thế nào anh :
Mã:
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Public Const SW_SHOW = 5
'________________________________________________________________________________________
Sub tst()
    ShellExecute Handle, "runas", "cmd.exe", nil, nil, SW_SHOW
End Sub
 
Upvote 0
Mình có viết code thử đăng ký cho FlashShockWave bằng code này nhưng không thể Load được file vào hệ thống.
Khi đăng ký thủ công:
1. Nếu khi chạy lệnh cmd mà ta chọn Run as administrator thì mọi thứ ok
2. Nếu không chọn Run as administrator khi khởi động cmd thì không load được file.

******
Cho nên mình đoán là code này chạy theo kiểu không có quyền admin nên không load file được
Không biết là có cách nào khắc phục hay không
PHP:
Sub RegFlash()
Dim sComm As String
  sComm = "Regsvr32 C:\Windows\System32\Macromed\Flash\Flash11c.ocx"
  CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
End Sub
hình như cú pháp để chạy run as admin như vậy:
Mã:
Sub RegFlash()
Dim sComm As String
  sComm = "Regsvr32 C:\Windows\System32\Macromed\Flash\Flash11c.ocx"
  CreateObject("Wscript.Shell").Run "[COLOR=#ff0000]Runas /user:[/COLOR]administrator""cmd /c " & sComm, 1, True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
thử mấy hàm API xem thế nào anh :
Mã:
Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
                ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Public Const SW_SHOW = 5
'________________________________________________________________________________________
Sub tst()
    ShellExecute Handle, "runas", "cmd.exe", nil, nil, SW_SHOW
End Sub

Đang loay hoay tình cách thử mà chưa được. Vì không hiểu cú pháp nên cũng hơi khó nhai


****

Mới thử theo bài 3 thì thấy màn hình nhá lên cái mà chưa biết được hay không. Để remove cái flash rồi test từ đầu coi sao
 
Lần chỉnh sửa cuối:
Upvote 0
Đang loay hoay tình cách thử mà chưa được. Vì không hiểu cú pháp nên cũng hơi khó nhai


****

Mới thử theo bài 3 thì thấy màn hình nhá lên cái mà chưa biết được hay không. Để remove cái flash rồi test từ đầu coi sao

Em đoán là vậy :
Mã:
Sub RegFlash()
Dim sComm As String
  sComm = "Regsvr32 C:\Windows\System32\Macromed\Flash\Flash11c.ocx"
  ShellExecute 0&, "runas", "cmd.exe", "/c" & sComm, vbNullString, SW_SHOW
End Sub
 
Upvote 0
Mình có viết code thử đăng ký cho FlashShockWave bằng code này nhưng không thể Load được file vào hệ thống.
Khi đăng ký thủ công:
1. Nếu khi chạy lệnh cmd mà ta chọn Run as administrator thì mọi thứ ok
2. Nếu không chọn Run as administrator khi khởi động cmd thì không load được file.

******
Cho nên mình đoán là code này chạy theo kiểu không có quyền admin nên không load file được
Không biết là có cách nào khắc phục hay không
PHP:
Sub RegFlash()
Dim sComm As String
  sComm = "Regsvr32 C:\Windows\System32\Macromed\Flash\Flash11c.ocx"
  CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
End Sub
Anh thử theo cách rất hay của bác Siwtom này xem, tại đây
 
Upvote 0
Tình hình là vẫn không làm được. Nếu khó quá thì bỏ, nhức đầu rồi.
 
Upvote 0
Tình hình là vẫn không làm được. Nếu khó quá thì bỏ, nhức đầu rồi.

Nếu làm tự động không được thì làm thế này:
- Code của ta khi chạy lần đầu sẽ hiện ra thông báo "ép" người dùng phải đăng kỳ gì gì đó (đương nhiên Hải phải hướng dẫn rõ trên MsgBox)
- Dặn người ta rằng: "Ông cứ đăng ký mọi thứ xong đi rồi chạy code"
Tôi có vẻ "cùi mía" nhưng tôi vẫn thường thấy các ứng dụng họ làm vậy
 
Upvote 0
Nếu làm tự động không được thì làm thế này:
- Code của ta khi chạy lần đầu sẽ hiện ra thông báo "ép" người dùng phải đăng kỳ gì gì đó (đương nhiên Hải phải hướng dẫn rõ trên MsgBox)
- Dặn người ta rằng: "Ông cứ đăng ký mọi thứ xong đi rồi chạy code"
Tôi có vẻ "cùi mía" nhưng tôi vẫn thường thấy các ứng dụng họ làm vậy
Có viết cho ai đâu mà dặn với dò. Em thử test trên máy em mà nó chẳng chịu chạy.
****
Nhưng mà hỏng có cùi mía à nha. Chỉ có cùi bắp thôi.
 
Upvote 0
Ủa gì kỳ vậy? Viết code mình thì viết làm đ gì? Gõ bằng tay vào hộp Run cho nó khỏe gà
Thì tại em muốn nghiên cứu thôi. Tính viết cái code cho nó copy cái file Flash11c.ocx vào đúng đường dẫn rồi tự đăng ký luôn, nhưng làm cốc có được.
 
Upvote 0
Thì tại em muốn nghiên cứu thôi. Tính viết cái code cho nó copy cái file Flash11c.ocx vào đúng đường dẫn rồi tự đăng ký luôn, nhưng làm cốc có được.

Cái vụ đó không phải dễ ăn đâu nha, nhất là khi code chạy trên Windows 7 (trở lên) lại càng phiền. Sẽ có hàng đống các rào cản (như UAC chẳng hạn) khiến ta nhức đầu
 
Upvote 0
Web KT

Bài viết mới nhất

  • Dán lên cao
Trả lời
26
Đọc
9K
Back
Top Bottom