Piotr Caban : oleview: Added copy CLSID functionality.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jun 23 06:43:43 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 749e65cb37ec138adda46e933bd357d8680636e0
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=749e65cb37ec138adda46e933bd357d8680636e0

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Thu Jun 22 19:59:21 2006 +0200

oleview: Added copy CLSID functionality.

---

 programs/oleview/oleview.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/programs/oleview/oleview.c b/programs/oleview/oleview.c
index 02b2b18..3bebfe2 100644
--- a/programs/oleview/oleview.c
+++ b/programs/oleview/oleview.c
@@ -49,6 +49,27 @@ INT_PTR CALLBACK CreateInstOnProc(HWND h
     return FALSE;
 }
 
+void CopyClsid(HTREEITEM item)
+{
+    TVITEM tvi;
+
+    memset(&tvi, 0, sizeof(TVITEM));
+    tvi.hItem = item;
+    tvi.cchTextMax = MAX_LOAD_STRING;
+    SendMessage(globals.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
+
+    if(OpenClipboard(globals.hMainWnd) && EmptyClipboard() && tvi.lParam)
+    {
+        HANDLE hClipData = GlobalAlloc(GHND, sizeof(WCHAR[MAX_LOAD_STRING]));
+        LPVOID pLoc = GlobalLock(hClipData);
+
+        lstrcpyW(pLoc, ((ITEM_INFO *)tvi.lParam)->clsid);
+        GlobalUnlock(hClipData);
+        hClipData = SetClipboardData(CF_UNICODETEXT, hClipData);
+        CloseClipboard();
+    }
+}
+
 void ResizeChild(void)
 {
     RECT client, stat, tool;
@@ -149,6 +170,10 @@ int MenuCommand(WPARAM wParam, HWND hWnd
                     sizeof(WCHAR[MAX_LOAD_STRING]));
             ShellAbout(hWnd, wszAbout, wszAboutVer, NULL);
             break;
+        case IDM_COPYCLSID:
+            hSelect = TreeView_GetSelection(globals.hTree);
+            CopyClsid(hSelect);
+            break;
         case IDM_CREATEINST:
             hSelect = TreeView_GetSelection(globals.hTree);
             CreateInst(hSelect, NULL);




More information about the wine-cvs mailing list