đưa chương trình lên màn hình nền là như thế nào hả bạn? Nhờ kiểu không đầu không đuôi thế này thì em chịu !!!
Giúp đỡ đoạn code đưa chương trình lên màn hình nền?
đưa chương trình lên màn hình nền là như thế nào hả bạn? Nhờ kiểu không đầu không đuôi thế này thì em chịu !!!
Nghĩa là đặt đường dẫn mở chương trình trên màn hình nền
Đường dẫn này là tĩnh hay động vậy bạn ( nghĩa là Click vào nó có chạy ct không hay chỉ để thông tin cho người dùng thôi ).
Thời gian sống của chuỗi đường dẫn ntn ( sẽ mất khi cửa sổ khác che đi hay vẫn còn; có duy trì qua các lần khởi động máy không ).
Chỉ là mã lênh đưa biểu tượng chương trình lên Desktop ví dụ: như biểu tượng My Computer hây các biểu tượng chương trình khác.
Bạn cần tạo 1 file .lnk tại thư mục Desktop (C:\Users\<tên người dùng>\Desktop)
Xem thêm về cách tạo file .lnk tại đây
Code:https://msdn.microsoft.com/en-us/library/aa969393.aspx#Shellink_Creating_Shortcut
Cuối cùng là cần mã tạo một Shortcut của chương trình trên màn hình ( nếu bạn nói rõ ngay từ đầu thì có phải lả đơn giản không). Bạn tham khảo thử mã sau nhé :
Visual C++ Code:
#include<Shlobj.h> HRESULT CAnyClass::CreateLink(LPCSTR lpszPathObj, LPCSTR lpszPathLink, LPCSTR lpszDesc) { HRESULT hResult; IShellLink * psl; // Nhận một con trỏ tới giao diện IShellLink. hResult = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID *)&psl); if (SUCCEEDED(hResult)) { IPersistFile * ppf; // Thiết lập đường dẫn của đối tượng và phần mô tả psl->SetPath(lpszPathObj); psl->SetDescription(lpszDesc); // Truy vấn giao diện IShellLink và nhận giao diện IPersistFile hResult = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf); if (SUCCEEDED(hResult)) { WCHAR wsz[MAX_PATH]; // Chuyển sang chuỗi UniCode MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1,wsz, MAX_PATH); // Lưu lại trong Shell. hResult = ppf->Save(wsz, TRUE); ppf->Release(); } psl->Release(); } return hResult; }
Trong hàm/phương thức trên, tất cả các tham số đều là đầu vào [in]:
lpszPathObj: Chuỗi đường dẫn của chương trình, có thể dùng các API như: GetModuleFileName, GetModuleHandle để nhận.
lpszPathLink: Chuỗi đường dẫn chứa Shortcut, có thể dùng Shell API SHGetDesktopFolder để nhận sau đó cộng thêm tên Shortcut ( do bạn tự đặt).
lpszDesc: Chuỗi mô tả cho Shortcut, được hiển thị trong một Tooltip khi con trỏ chuột dừng trên Shortcut ( Icon) một khoảng thời gian nhất định ( chuỗi này do bạn tự đặt).