• 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

Thư viện Shell32.dll

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
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

Thư viện Shell32.dll

Gửi bàigửi bởi truongphu » T.Sáu 09/05/2008 9:36 pm

Thủ thuật: Thư viện Shell32.dll
Tác giả: truongphu
Mô tả: Thư viện Shell32.dll luôn luôn có sẵn ở các máy cài HĐH Windows, do thế, bạn chỉ cần khai báo là có tùm lum việc để làm và thật thích thú!


Mã: Chọn hết

  1. Private Sub Form_Load()
  2. On Error Resume Next
  3. 'Thu viên Shell32.dll
  4. Dim Shl As New Shell, a As Object
  5. With Shl   'Hôp thoai BrowseForFolder
  6.   a = .BrowseForFolder(Me.hWnd, "Thân tang các ban! truongphu", 1)
  7.     .TileHorizontally 'Các cua sô nàm ngang
  8.     .TileVertically   'Các cua sô Ðu'ng
  9.     .CascadeWindows   'Các cua sô nàm chông
  10.     .Explore ("C:\")  'Mo' ô Ðia C:
  11.     .FileRun        'Hôp thoai Run
  12.     .FindFiles        'Hôp thoai Search
  13.     .Open ("D:\")  'Mo' ô Ðia D:
  14.     .TrayProperties    'TaskBar and start menu Properties
  15. End With
  16. End
  17. 'Và còn nhiêu muc Ðo'i các ban khám phá
  18. End Sub

Gởi Project kèm để các bạn khỏi mất công: file nén chỉ 1,5KB
Tập tin đính kèm
MS Shell Controls and Automation.rar
(1.41 KiB) Đã tải 899 lần


o0o--truongphu--o0o

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

Hình đại diện của người dùng
phstiger
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Năm 27/03/2008 12:20 pm

Re: Thư viện Shell32.dll

Gửi bàigửi bởi phstiger » T.Sáu 09/05/2008 11:50 pm

Sao mình chạy nó cứ báo lỗi
User-defined type not defined

và hiện lỗi ở dòng đầu tiên.
(¯¯`·.¸ www.banbevn.us ¸.·´¯¯)

giongto35
Thành viên danh dự
Thành viên danh dự
Bài viết: 194
Ngày tham gia: T.Năm 19/04/2007 10:17 am
Đến từ: Đà Nẵng City
Been thanked: 1 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi giongto35 » T.Sáu 09/05/2008 11:55 pm

Import reference vô
________________________________________________________________________________________________
. . . . . . . . . . . . .. .

Giang Hồ
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 50
Ngày tham gia: T.Bảy 12/05/2007 2:36 pm
Đến từ: http://vn-soft.net
Been thanked: 1 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi Giang Hồ » T.Bảy 10/05/2008 9:12 am

Rất hay. chỉ có thắc mắc 1 chỗ là làm sao mà xử lý sự kiện .BrowseForFolder đây
Code chỉ một lần mà fix bug thì mãi mãi
-----------------------------------
VnSecurity 2008 - Bảo vệ máy tính theo phong cách của bạn
Website: http://vn-soft.net

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: Thư viện Shell32.dll

Gửi bàigửi bởi truongphu » T.Bảy 10/05/2008 10:11 am

Giang Hồ đã viết:Rất hay. chỉ có thắc mắc 1 chỗ là làm sao mà xử lý sự kiện .BrowseForFolder đây

Cảm ơn Giang Hồ
BrowseForFolder là để lấy path. Do đó nếu lấy trị số thì phải khai: a as string

Mã: Chọn hết

  1. Dim Shl As New Shell, a$
  2.  a = Shl.BrowseForFolder(Me.hWnd, "A! ra rôi", 1)
  3.  Msgbox a

Xin bạn edit lại dùm
o0o--truongphu--o0o

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

Hình đại diện của người dùng
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: T.Tư 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 31 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi clarkkent » T.Bảy 10/05/2008 12:08 pm

Xin bác truongphu gởi file kèm theo đừng có khoảng trắng giữa các từ, lúc tải về nó thêm % ở giữa mấy khoảng trắng nhìn rối mắc qué... :D
Ví dụ: MS%20Shell%20Controls%20and%20Automation ...:D
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lê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: Thư viện Shell32.dll

Gửi bàigửi bởi truongphu » T.Bảy 10/05/2008 12:15 pm

clarkkent đã viết:có khoảng trắng giữa các từ

Tôi mới tải về thử, bình thường mà
Câu bạn trích dẫn là ở trong Project\References
%20 ở đâu ra nhỉ
hay là virus?
o0o--truongphu--o0o

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

QuangHoa
Guru
Guru
Bài viết: 542
Ngày tham gia: T.Năm 27/03/2008 9:02 am
Đến từ: Quê hương Đại tướng Võ Nguyên Giáp
Been thanked: 5 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi QuangHoa » T.Hai 12/05/2008 9:14 am

%20 là quy ước trong khi truyền tải thông tin trên Web, nó sẻ thay thế cho ký tự space(1) (1 khoảng trắng). Thì nó cũng như lúc ta lập trình thôi, có cho ta dùng khoảng trắng để đặt tên đâu. Nhưng mà Web vẫn không hơn mấy ngôn ngử này là tự Fix lỗi chứ không báo lỗi.

Đa tạ bác, em lỡ OK một phát nó mở ra đủ thứ làm giật cả mình. :-O
朋友
这些年一个人风也过雨也走,有过泪有过错还记得坚持什么。
真爱过才会懂会记没会回手,终有梦中有你在心中。
朋友一生一起走那些日子不再有,一句话一辈子一生情一杯九。
朋友不曾孤单过一声朋友你会懂,还有伤还有痛还要走还有我。

DiodeZ
Thành viên danh dự
Thành viên danh dự
Bài viết: 156
Ngày tham gia: T.Tư 09/04/2008 5:58 pm
Đến từ: /root
Has thanked: 1 time
Been thanked: 3 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi DiodeZ » T.Hai 12/05/2008 1:06 pm

cho em hỏi: tham số "1" trong lệnh sau có nghĩa gì? em thay bằng 0,2,3 mà kết quả cũng vậy ko thấy khác gì hết
truongphu đã viết:

Mã: Chọn hết

  1. a = .BrowseForFolder(Me.hWnd, "Thân tang các ban! truongphu", 1)

QuangHoa
Guru
Guru
Bài viết: 542
Ngày tham gia: T.Năm 27/03/2008 9:02 am
Đến từ: Quê hương Đại tướng Võ Nguyên Giáp
Been thanked: 5 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi QuangHoa » T.Tư 14/05/2008 2:33 pm

Em cũng muốn Add các file .dll vô xem xem thế nào nhưng cái không biết là làm thế nào viết được câu tương tự này

Mã: Chọn hết

  1. Dim Shl As New Shell
, cái từ "Shell" ấy lấy đâu ra vậy ?
朋友
这些年一个人风也过雨也走,有过泪有过错还记得坚持什么。
真爱过才会懂会记没会回手,终有梦中有你在心中。
朋友一生一起走那些日子不再有,一句话一辈子一生情一杯九。
朋友不曾孤单过一声朋友你会懂,还有伤还有痛还要走还有我。

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: Thư viện Shell32.dll

Gửi bàigửi bởi truongphu » T.Tư 14/05/2008 5:41 pm

DiodeZ đã viết:cho em hỏi: tham số "1" trong lệnh sau có nghĩa gì?

* >= 0 có nghĩa là chỉ chọn cấp Folder
* < 0 Duyệt đến cấp file
Thật ra sau con số nầy còn có tham số Root folder để biểu hiện phần chọn lựa mặc định là ở đâu
* Không có tham số: thường là My Documents (hoặc my Computer tùy máy tính mặc định)
* Có: vd "C:"

quanghoa đã viết:Em cũng muốn Add các file .dll vô

Browse tới system32, chọn Shell32.dll là chắc cú
trong Project\references, có tên Microsoft Shell Controls And automation
Á mà hình như bạn đã add shell32 rồi thì phải, vì bạn có nói ở trên; OK một phát nó mở ra đủ thứ làm giật cả mình
VB IDE sẽ gà bài cho bạn, khi bạn viết Dim Shl As, chỉ nhấn space 1 cái là đủ từ hiện ra, bạn chọn new, rồi lại space 1 cái sẽ có thằng Shell trong đó
Điều nầy bạn chưa biết hở? ;)
o0o--truongphu--o0o

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

QuangHoa
Guru
Guru
Bài viết: 542
Ngày tham gia: T.Năm 27/03/2008 9:02 am
Đến từ: Quê hương Đại tướng Võ Nguyên Giáp
Been thanked: 5 time
Liên hệ:

Re: Thư viện Shell32.dll

Gửi bàigửi bởi QuangHoa » T.Sáu 16/05/2008 8:04 am

Em biết rồi, khổ nổi nó ra nhiều cái quá nên nếu thấy hơi lúng túng thôi.
朋友
这些年一个人风也过雨也走,有过泪有过错还记得坚持什么。
真爱过才会懂会记没会回手,终有梦中有你在心中。
朋友一生一起走那些日子不再有,一句话一辈子一生情一杯九。
朋友不曾孤单过一声朋友你会懂,还有伤还有痛还要走还有我。

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: Thư viện Shell32.dll

Gửi bàigửi bởi truongphu » T.Ba 17/06/2008 2:24 pm

Giang Hồ đã viết:Rất hay. chỉ có thắc mắc 1 chỗ là làm sao mà xử lý sự kiện .BrowseForFolder đây

Cách trên chỉ lấy được tên thư mục, tôi tặng bạn code sau để lấy cả path (có nhiêu đó mà mãi bữa nay tôi mới nghỉ ra!"

Mã: Chọn hết

  1. Private Sub Form_Load()
  2. Const WINDOW_HANDLE = 0: Const OPTIONS = 0
  3. Set objShell = CreateObject("Shell.Application") 'Khoi khai báo
  4. Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "Select a folder:", OPTIONS, "C:\")
  5. If objFolder Is Nothing Then Exit Sub
  6. Set objFolderItem = objFolder.Self '<--
  7. objPath = objFolderItem.Path '<-- Ðuo`ng dân
  8. MsgBox objPath
  9. End Sub
o0o--truongphu--o0o

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

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: Thư viện Shell32.dll

Gửi bàigửi bởi truongphu » CN 10/05/2009 1:49 pm

Mong các bạn
Add References MS Shell Controls And Automation
cụ thể là (C:\Windows\system32\Shell32.dll)
mà không tìm thấy
hay Add được
thì thôi

Tác giả (tôi) Hết hứng trả lời
Mệt quá! :D
o0o--truongphu--o0o

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


Quay về “[VB] Mẹo vặt khác”

Đ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.0 khách