Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Please help with Menu Capture, thank you.

Please help with Menu Capture, thank you.

Scheduled Pinned Locked Moved C / C++ / MFC
linuxhelp
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    JavaTony
    wrote on last edited by
    #1

    Hi, I am trying the following code to enumerate child windows of Start Menu. However, it doesn't seem to work. Could you take a look and tell me what I did wrong or is there another way to do it. Thank you very much. RECT rcMenu; BOOL CaptureMenuToClipboard(BOOL fIncMouseCursor, BOOL fIncMenuBar) { /*BOOL bSuccess = FALSE; POINT ptStartMenu; ptStartMenu.x = 1; ptStartMenu.y = 1; HWND hStartMenu; HWND hShellTrayWindow = FindWindow("Shell_TrayWnd", NULL); hStartMenu = ChildWindowFromPoint(hShellTrayWindow, ptStartMenu); if (EnumChildWindows(hStartMenu, (WNDENUMPROC)EnumChildProc, NULL)) bSuccess = TRUE; if (bSuccess) { if (!CopyScreenToClipboard(NULL, &rcMenu, fIncMouseCursor)) bSuccess = FALSE; } return bSuccess;*/ } BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) { BOOL bFlag = FALSE; if (GetWindowRect(hwnd, &rcMenu)) bFlag = TRUE; return bFlag; } :) ;) ;) ;) :-D

    B 1 Reply Last reply
    0
    • J JavaTony

      Hi, I am trying the following code to enumerate child windows of Start Menu. However, it doesn't seem to work. Could you take a look and tell me what I did wrong or is there another way to do it. Thank you very much. RECT rcMenu; BOOL CaptureMenuToClipboard(BOOL fIncMouseCursor, BOOL fIncMenuBar) { /*BOOL bSuccess = FALSE; POINT ptStartMenu; ptStartMenu.x = 1; ptStartMenu.y = 1; HWND hStartMenu; HWND hShellTrayWindow = FindWindow("Shell_TrayWnd", NULL); hStartMenu = ChildWindowFromPoint(hShellTrayWindow, ptStartMenu); if (EnumChildWindows(hStartMenu, (WNDENUMPROC)EnumChildProc, NULL)) bSuccess = TRUE; if (bSuccess) { if (!CopyScreenToClipboard(NULL, &rcMenu, fIncMouseCursor)) bSuccess = FALSE; } return bSuccess;*/ } BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) { BOOL bFlag = FALSE; if (GetWindowRect(hwnd, &rcMenu)) bFlag = TRUE; return bFlag; } :) ;) ;) ;) :-D

      B Offline
      B Offline
      Ben Burnett
      wrote on last edited by
      #2

      What do you mean by "enumerate child windows of Start Menu"? the start menu button does not have any child windows, unless you mean the menu, but it will not exist until you depress the start menu button(though its probably cached somewhere). -Ben --------- On the topic of code with no error handling -- It's not poor coding, it's "optimistic" ;)

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups