Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
ruby win32api call getMenuItemInfo
Ted Baker
2/6/2009 2:34:00 PM
Hi all,
I have successfully managed to implement the following apis
findWindow=Win32API.new("user32.dll", "FindWindow", ['P','P'], 'N')
sendMessage=Win32API.new("user32.dll", "SendMessage",['N','N','N','P'],
'N')
getMenu=Win32API.new("user32.dll", "GetMenu", ['N'], 'N')
getMenuItemCount=Win32API.new("user32.dll", "GetMenuItemCount",['N'],
'N')
getSubMenu=Win32API.new("user32.dll", "GetSubMenu", ['N','N'], 'N')
deleteMenu=Win32API.new("user32.dll", "DeleteMenu", ['N','N','N',],'N')
drawMenuBar=Win32API.new("user32.dll", "DrawMenuBar", ['N'], 'N')
setWindowLong=Win32API.new("user32.dll", "SetWindowLong",['N','N','N'],
'N')
but am unable to get getMenuItemInfo to work, this is because it takes a
type structure and boolean as parameters and i can't figure it out...
this is what i have
getMenuItemInfo =Win32API.new("user32.dll", "GetMenuItemInfo",
['L','L','NEED','NEED'], 'L')
the api is as follows...
BOOL GetMenuItemInfo(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
LPMENUITEMINFO lpmii
);
typedef struct tagMENUITEMINFO {
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPTSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFO, *LPMENUITEMINFO;
any help greatly appreciated...
Thanks
Ted
--
Posted via
http://www.ruby-...
.
1 Answer
daz
3/10/2009 3:37:00 AM
0
Ted Baker wrote:
> Hi all,
>
> I have successfully managed to implement the following apis
>
> findWindow=Win32API.new("user32.dll", "FindWindow", ['P','P'], 'N')
> sendMessage=Win32API.new("user32.dll", "SendMessage",['N','N','N','P'],
> 'N')
> getMenu=Win32API.new("user32.dll", "GetMenu", ['N'], 'N')
> getMenuItemCount=Win32API.new("user32.dll", "GetMenuItemCount",['N'],
> 'N')
> getSubMenu=Win32API.new("user32.dll", "GetSubMenu", ['N','N'], 'N')
> deleteMenu=Win32API.new("user32.dll", "DeleteMenu", ['N','N','N',],'N')
> drawMenuBar=Win32API.new("user32.dll", "DrawMenuBar", ['N'], 'N')
> setWindowLong=Win32API.new("user32.dll", "SetWindowLong",['N','N','N'],
> 'N')
>
> but am unable to get getMenuItemInfo to work, this is because it takes a
> type structure and boolean as parameters and i can't figure it out...
>
> this is what i have
>
> getMenuItemInfo =Win32API.new("user32.dll", "GetMenuItemInfo",
> ['L','L','NEED','NEED'], 'L')
>
> the api is as follows...
>
> BOOL GetMenuItemInfo(
> HMENU hMenu,
> UINT uItem,
> BOOL fByPosition,
> LPMENUITEMINFO lpmii
> );
>
> typedef struct tagMENUITEMINFO {
> UINT cbSize;
> UINT fMask;
> UINT fType;
> UINT fState;
> UINT wID;
> HMENU hSubMenu;
> HBITMAP hbmpChecked;
> HBITMAP hbmpUnchecked;
> ULONG_PTR dwItemData;
> LPTSTR dwTypeData;
> UINT cch;
> HBITMAP hbmpItem;
> } MENUITEMINFO, *LPMENUITEMINFO;
>
> any help greatly appreciated...
>
> Thanks
>
> Ted
Very late reply.
You should have been directed towards Ruby/DL in the
standard library.
This is now preferred to Win32API which is in the process
of being obsoleted.
http://www.jbrowse.com/text/r...
daz
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
ruby win32api call getMenuItemInfo
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password