• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Xin cho hỏi về WScript.Shell

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Điều hành viên: tungblt

hoangnambg
Bài viết: 2
Ngày tham gia: T.Sáu 31/10/2008 10:02 am

Xin cho hỏi về WScript.Shell

Gửi bàigửi bởi hoangnambg » T.Năm 08/04/2010 7:16 am

Xin chào các pro.Em đang có 1 chương trình firewall trong code có dùng đoạn lệnh:
  1. Public Function Registry_Read(Key_Path, Key_Name) As Variant
  2.    
  3.     On Error Resume Next
  4.    
  5.     Dim Registry As Object
  6.    
  7.     Set Registry = CreateObject("WScript.Shell")
  8.  
  9.     Registry_Read = Registry.regread(Key_Path & Key_Name)
  10.    
  11. End Function


Bác nào có thể giải thích cho e đoạn code trên dùng để làm gì????Đặc biệt là WScript.Shell. Em không hiểu cái này lấy ra ở đâu????Mục đích của nó dùng để làm gì????

------------
Nhắc nhở: không gởi thắc mắc không liên quan vào Box Tài nguyên



Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4761
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Re: Xin cho hỏi về WScript.Shell

Gửi bàigửi bởi truongphu » T.Bảy 10/04/2010 3:44 pm

Giải thích chi tiết thì bạn khó nắm bắt trong vài câu
1- Đây là đoạn mã VBS chứ không thuần túy VB6, dùng để khảo sát registry (đọc)
2- giá trị trả về của function có thể là string thì hay hơn
3- on error... ngừa trường hợp đọc không được
4- CreateObject("WScript.Shell") là tạo đối tượng lớp shell (tự động chạy) thuộc thư viện WScript

hoangnambg đã viết:Mục đích của nó dùng để làm gì????

như nói ở trên, để đọc registry; tuy nhiên do bạn mới quen VB6 bạn nên bỏ qua, vài năm nữa xem lại
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Kim Tinh
Bài viết: 5
Ngày tham gia: T.Hai 03/11/2014 4:14 pm

Re: Xin cho hỏi về WScript.Shell

Gửi bàigửi bởi Kim Tinh » T.Năm 07/04/2016 10:47 pm

"Đây là đoạn mã VBS chứ không thuần túy VB6" (?).
Trước đây tôi khai báo: Set ObjSh = CreateObject("WScript.Shell")
- và ObjSh.Run MyEXE thì MyEXE Run trong WinXP, nhưng trong Win8.1 thì không thực hiện được!
Thông báo như sau:" Run-time error:
Automation error %1 is not a valid Win32 application".
Cho hỏi đó là lỗi gì, và cách khắc phục?
- Dùng lệnh Shell MyEXE, 1 thì MyEXE Run trong Win8.1 nhưng
tôi không biết cách chờ cho MyEXE Run xong, mới thực hiện lệnh kế tiếp? (như ObjSh MyEXE , , true ).

Kim Tinh
Bài viết: 5
Ngày tham gia: T.Hai 03/11/2014 4:14 pm

Tại sao không khai báo được WScript.Shell trong Win8

Gửi bàigửi bởi Kim Tinh » T.Bảy 09/04/2016 7:56 am

khai báo: Set ObjSh = CreateObject("WScript.Shell")

- và gọi: ObjSh.Run MyEXE thì chương trình MyEXE chạy tốt trong WinXP,

nhưng khai báo và gọi như thế trong Win8.1 thì chương trình MyEXE không thực hiện được, báo lỗi:
" Run-time error:
Automation error %1 is not a valid Win32 application".
Phải chăng VB6 trong Win8 thì không thể khai báo như trên?
Rất mong vị nào chỉ dùm, cảm ơn nhiều!

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4761
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Re: Xin cho hỏi về WScript.Shell

Gửi bàigửi bởi truongphu » T.Hai 11/04/2016 9:02 am

Kim Tinh đã viết:Thông báo như sau:" Run-time error:
Automation error %1 is not a valid Win32 application"

Với HĐH XP, mức bảo mật còn đơn sơ, các phần mềm tự do chạy, thậm chí tác động vô tư lên các folder hay file quan trọng.
Lên Win 7 thì mức bảo mật bắt đầu khó hơn. Lỗi thông báo trên là lỗi bảo mật không cho phép chạy.

Khắc phục = rối rắm! = Đăng nhập bằng quyền admin. Giảm mức soi mói của bảo mật.

các thủ thuật khắc phục về bảo mật trên, bạn chịu khó gõ google
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Kim Tinh
Bài viết: 5
Ngày tham gia: T.Hai 03/11/2014 4:14 pm

Re: Xin cho hỏi về WScript.Shell

Gửi bàigửi bởi Kim Tinh » T.Hai 11/04/2016 9:53 am

Cảm ơn bác TruongPhu đã tận tình giải đáp !


Quay về “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.5 khách