Help with SetWindowsHookEx (newbie)

Trying to trap messages from another process.
I have already inserted a new menu item into the process, now I'm tryign to
trap messages with with the following code:
    GetWindowThreadProcessId(HmbWindow, &threadID);


    HINSTANCE hModHnd = GetModuleHandle(NULL);

    g_hHook = (HHOOK)SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)MyHookProc,
hModHnd, threadID);





g_hHook is always NULL.  I'm not sure why, I have checked everything I can
think of to check and it all looks fine.



Here is what the MyHookProc looks like:

LRESULT CALLBACK MyHookProc(int code, WPARAM wParam, LPARAM lParam )

{

      //

      //  is this my menu item?

      //

      return CallNextHookEx(g_hHook, code, wParam, lParam);

}





Anyone see it?  Anyone have any suggestions?  I wish it would tell me WHAT
paramter was incorrect(error code 87)



Thanks for any help, I appreciate it!

-Steve


0
asasd (36)
11/8/2004 10:33:56 PM
vc.mfc 33608 articles. 0 followers. Follow

11 Replies
1104 Views

Similar Articles

[PageSpeed] 44

"sklett" <asasd@asdfasdfsd.com> wrote in message
news:uqulKMexEHA.1196@TK2MSFTNGP15.phx.gbl...
> Trying to trap messages from another process.
> I have already inserted a new menu item into the process, now I'm tryign
to
> trap messages with with the following code:
>     GetWindowThreadProcessId(HmbWindow, &threadID);
>
>
>     HINSTANCE hModHnd = GetModuleHandle(NULL);
>
>     g_hHook = (HHOOK)SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)MyHookProc,
> hModHnd, threadID);
>
>
>
>
>
> g_hHook is always NULL.  I'm not sure why, I have checked everything I can
> think of to check and it all looks fine.
>
>
>
> Here is what the MyHookProc looks like:
>
> LRESULT CALLBACK MyHookProc(int code, WPARAM wParam, LPARAM lParam )
>
> {
>
>       //
>
>       //  is this my menu item?
>
>       //
>
>       return CallNextHookEx(g_hHook, code, wParam, lParam);
>
> }
>
>
>
>
>
> Anyone see it?  Anyone have any suggestions?  I wish it would tell me WHAT
> paramter was incorrect(error code 87)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.asp

<quote>
lpfn
[in] Pointer to the hook procedure. If the dwThreadId parameter is zero or
specifies the identifier of a thread created by a different process, the
lpfn parameter must point to a hook procedure in a dynamic-link library
(DLL). Otherwise, lpfn can point to a hook procedure in the code associated
with the current process.
hMod
[in] Handle to the DLL containing the hook procedure pointed to by the lpfn
parameter. The hMod parameter must be set to NULL if the dwThreadId
parameter specifies a thread created by the current process and if the hook
procedure is within the code associated with the current process.
dwThreadId
[in] Specifies the identifier of the thread with which the hook procedure is
to be associated. If this parameter is zero, the hook procedure is
associated with all existing threads running in the same desktop as the
calling thread.
</quote>

-- 
Jeff Partch [VC++ MVP]


0
jeffp (1712)
11/8/2004 10:52:42 PM
Right, I've poured over that 3 or 4 times, but it looks like everything is
fine, EXCEPT
"If the dwThreadId parameter is zero or specifies the identifier of a thread
created by a different process, the lpfn parameter must point to a hook
procedure in a dynamic-link library"

My code IS in a DLL.  So do I need to have a separate DLL just for the
HOOKPROC?  I don't understand if that's what it saying, it would seem odd
that I would need that.


"Jeff Partch" <jeffp@mvps.org> wrote in message
news:eO%23RqWexEHA.3376@TK2MSFTNGP12.phx.gbl...
> "sklett" <asasd@asdfasdfsd.com> wrote in message
> news:uqulKMexEHA.1196@TK2MSFTNGP15.phx.gbl...
> > Trying to trap messages from another process.
> > I have already inserted a new menu item into the process, now I'm tryign
> to
> > trap messages with with the following code:
> >     GetWindowThreadProcessId(HmbWindow, &threadID);
> >
> >
> >     HINSTANCE hModHnd = GetModuleHandle(NULL);
> >
> >     g_hHook = (HHOOK)SetWindowsHookEx(WH_GETMESSAGE,
(HOOKPROC)MyHookProc,
> > hModHnd, threadID);
> >
> >
> >
> >
> >
> > g_hHook is always NULL.  I'm not sure why, I have checked everything I
can
> > think of to check and it all looks fine.
> >
> >
> >
> > Here is what the MyHookProc looks like:
> >
> > LRESULT CALLBACK MyHookProc(int code, WPARAM wParam, LPARAM lParam )
> >
> > {
> >
> >       //
> >
> >       //  is this my menu item?
> >
> >       //
> >
> >       return CallNextHookEx(g_hHook, code, wParam, lParam);
> >
> > }
> >
> >
> >
> >
> >
> > Anyone see it?  Anyone have any suggestions?  I wish it would tell me
WHAT
> > paramter was incorrect(error code 87)
>
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.asp
>
> <quote>
> lpfn
> [in] Pointer to the hook procedure. If the dwThreadId parameter is zero or
> specifies the identifier of a thread created by a different process, the
> lpfn parameter must point to a hook procedure in a dynamic-link library
> (DLL). Otherwise, lpfn can point to a hook procedure in the code
associated
> with the current process.
> hMod
> [in] Handle to the DLL containing the hook procedure pointed to by the
lpfn
> parameter. The hMod parameter must be set to NULL if the dwThreadId
> parameter specifies a thread created by the current process and if the
hook
> procedure is within the code associated with the current process.
> dwThreadId
> [in] Specifies the identifier of the thread with which the hook procedure
is
> to be associated. If this parameter is zero, the hook procedure is
> associated with all existing threads running in the same desktop as the
> calling thread.
> </quote>
>
> -- 
> Jeff Partch [VC++ MVP]
>
>


0
asasd (36)
11/8/2004 11:08:08 PM
"sklett" <asasd@asdfasdfsd.com> wrote in message
news:e0frQfexEHA.3224@TK2MSFTNGP14.phx.gbl...
> Right, I've poured over that 3 or 4 times, but it looks like everything is
> fine, EXCEPT
> "If the dwThreadId parameter is zero or specifies the identifier of a
thread
> created by a different process, the lpfn parameter must point to a hook
> procedure in a dynamic-link library"
>
> My code IS in a DLL.  So do I need to have a separate DLL just for the
> HOOKPROC?  I don't understand if that's what it saying, it would seem odd
> that I would need that.

No, I don't think so. What I suspect is that your use of GetModuleHandle is
not returning the HINSTANCE of the dll. Try using the HINSTANCE passed to
your DllMain. And then see Bob Moore's tutorial...

http://bobmoore.mvps.org/Win32/w32tip69.htm

-- 
Jeff Partch [VC++ MVP]


0
jeffp (1712)
11/8/2004 11:31:49 PM
ah, the second snag, I don't have a DLL main.  This is a plugin DLL that is
loaded into a host application.
From what I understand, calling GetModuleHandle(NULL) should return the
handle of the calling module, if that is the case, then this is what I want
because my HOOKPROC is in the same module.

This is over my head, but I will learn from this if it kills me.  ;)

OK, I will take a look at the link.  Thanks for the responses!

-SK


"Jeff Partch" <jeffp@mvps.org> wrote in message
news:%23dPAgsexEHA.2996@TK2MSFTNGP10.phx.gbl...
> "sklett" <asasd@asdfasdfsd.com> wrote in message
> news:e0frQfexEHA.3224@TK2MSFTNGP14.phx.gbl...
> > Right, I've poured over that 3 or 4 times, but it looks like everything
is
> > fine, EXCEPT
> > "If the dwThreadId parameter is zero or specifies the identifier of a
> thread
> > created by a different process, the lpfn parameter must point to a hook
> > procedure in a dynamic-link library"
> >
> > My code IS in a DLL.  So do I need to have a separate DLL just for the
> > HOOKPROC?  I don't understand if that's what it saying, it would seem
odd
> > that I would need that.
>
> No, I don't think so. What I suspect is that your use of GetModuleHandle
is
> not returning the HINSTANCE of the dll. Try using the HINSTANCE passed to
> your DllMain. And then see Bob Moore's tutorial...
>
> http://bobmoore.mvps.org/Win32/w32tip69.htm
>
> -- 
> Jeff Partch [VC++ MVP]
>
>


0
asasd (36)
11/8/2004 11:38:24 PM
this is what GetModuleHandle is returning, looks suspicious to me:  +
hModHnd 0x00400000 {unused=9460301 } HINSTANCE__ *



"Jeff Partch" <jeffp@mvps.org> wrote in message
news:%23dPAgsexEHA.2996@TK2MSFTNGP10.phx.gbl...
> "sklett" <asasd@asdfasdfsd.com> wrote in message
> news:e0frQfexEHA.3224@TK2MSFTNGP14.phx.gbl...
> > Right, I've poured over that 3 or 4 times, but it looks like everything
is
> > fine, EXCEPT
> > "If the dwThreadId parameter is zero or specifies the identifier of a
> thread
> > created by a different process, the lpfn parameter must point to a hook
> > procedure in a dynamic-link library"
> >
> > My code IS in a DLL.  So do I need to have a separate DLL just for the
> > HOOKPROC?  I don't understand if that's what it saying, it would seem
odd
> > that I would need that.
>
> No, I don't think so. What I suspect is that your use of GetModuleHandle
is
> not returning the HINSTANCE of the dll. Try using the HINSTANCE passed to
> your DllMain. And then see Bob Moore's tutorial...
>
> http://bobmoore.mvps.org/Win32/w32tip69.htm
>
> -- 
> Jeff Partch [VC++ MVP]
>
>


0
asasd (36)
11/8/2004 11:39:43 PM
"sklett" <asasd@asdfasdfsd.com> wrote in message
news:OIa85wexEHA.1988@TK2MSFTNGP12.phx.gbl...
> this is what GetModuleHandle is returning, looks suspicious to me:  +
> hModHnd 0x00400000 {unused=9460301 } HINSTANCE__ *

That's almost definately the app's. Is there a reason why you can't have a
DllMain? Anyway, we had a discussion about this last month...

http://www.google.com/groups?hl=en&lr=&th=370f192efcb129dd&rnum=1

-- 
Jeff Partch [VC++ MVP]


0
jeffp (1712)
11/9/2004 12:04:46 AM
well... I'm still screwed here.  I have tried everything suggested(pretty
much) and still no luck.  I think I will start from scratch and see if I do
better.  Thanks for the suggestions!!


"Jeff Partch" <jeffp@mvps.org> wrote in message
news:O1OP6%23exEHA.1260@TK2MSFTNGP12.phx.gbl...
> "sklett" <asasd@asdfasdfsd.com> wrote in message
> news:OIa85wexEHA.1988@TK2MSFTNGP12.phx.gbl...
> > this is what GetModuleHandle is returning, looks suspicious to me:  +
> > hModHnd 0x00400000 {unused=9460301 } HINSTANCE__ *
>
> That's almost definately the app's. Is there a reason why you can't have a
> DllMain? Anyway, we had a discussion about this last month...
>
> http://www.google.com/groups?hl=en&lr=&th=370f192efcb129dd&rnum=1
>
> -- 
> Jeff Partch [VC++ MVP]
>
>


0
asasd (36)
11/9/2004 4:09:48 PM
OK, 1 more time, fresh start here.  I have created an MFC dialog based app
and added the following code to the button event:

LRESULT CALLBACK MyHookProc(int code, WPARAM wParam, LPARAM lParam );

static HHOOK g_hHook;



void CHookProcTestDlg::OnBnClickedOk()

{

      const char* pMsg         = "I'm a new menu item";


      const char* winCaption     = "Untitled - Notepad";





      HWND HmbWindow = ::FindWindow(NULL, winCaption);

      if(HmbWindow == NULL)

      {

            ::MessageBox(0, "info", "Failed getting window handle", MB_OK);

      }





      HMENU hmbMenu = ::GetMenu(HmbWindow);

      if(hmbMenu == NULL)

      {

            ::MessageBox(0, "info", "Failed getting menu handle", MB_OK);

      }

      else

      {

            ::InsertMenu(hmbMenu, -1, MF_BYPOSITION, MF_STRING, pMsg);

            ::DrawMenuBar(HmbWindow);





            //  get process ID

            unsigned long threadID = 0;

            ::GetWindowThreadProcessId(HmbWindow, &threadID);





            HINSTANCE hModHnd = ::GetModuleHandle(NULL);

            g_hHook = (HHOOK)SetWindowsHookEx(WH_GETMESSAGE,
(HOOKPROC)MyHookProc, hModHnd, threadID);

            if(g_hHook == NULL)

            {

                  unsigned long lastErrorID = GetLastError();

                  ::MessageBox(0, "info", "Failed creating hook", MB_OK);

            }

      }

      OnOK();

}























the g_hHook is STILL NULL.  I thought before I was possibly having trouble
because I was in a plugin environment, but now..... I don't get it.  Can
anyone help me with this?



Thanks,

Steve Klett

"sklett" <asasd@asdfasdfsd.com> wrote in message
news:uqulKMexEHA.1196@TK2MSFTNGP15.phx.gbl...
> Trying to trap messages from another process.
> I have already inserted a new menu item into the process, now I'm tryign
to
> trap messages with with the following code:
>     GetWindowThreadProcessId(HmbWindow, &threadID);
>
>
>     HINSTANCE hModHnd = GetModuleHandle(NULL);
>
>     g_hHook = (HHOOK)SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)MyHookProc,
> hModHnd, threadID);
>
>
>
>
>
> g_hHook is always NULL.  I'm not sure why, I have checked everything I can
> think of to check and it all looks fine.
>
>
>
> Here is what the MyHookProc looks like:
>
> LRESULT CALLBACK MyHookProc(int code, WPARAM wParam, LPARAM lParam )
>
> {
>
>       //
>
>       //  is this my menu item?
>
>       //
>
>       return CallNextHookEx(g_hHook, code, wParam, lParam);
>
> }
>
>
>
>
>
> Anyone see it?  Anyone have any suggestions?  I wish it would tell me WHAT
> paramter was incorrect(error code 87)
>
>
>
> Thanks for any help, I appreciate it!
>
> -Steve
>
>


0
asasd (36)
11/9/2004 4:29:44 PM
"sklett" <asasd@asdfasdfsd.com> wrote in message
news:%23AydLlnxEHA.4040@TK2MSFTNGP11.phx.gbl...
> OK, 1 more time, fresh start here.  I have created an MFC dialog based app
> and added the following code to the button event:
>
> LRESULT CALLBACK MyHookProc(int code, WPARAM wParam, LPARAM lParam );
>
> static HHOOK g_hHook;
>
> void CHookProcTestDlg::OnBnClickedOk()
> {
>       const char* pMsg         = "I'm a new menu item";
>       const char* winCaption     = "Untitled - Notepad";
>       HWND HmbWindow = ::FindWindow(NULL, winCaption);
>
>       if(HmbWindow == NULL)
>       {
>             ::MessageBox(0, "info", "Failed getting window handle",
MB_OK);
>       }
>
>       HMENU hmbMenu = ::GetMenu(HmbWindow);
>
>       if(hmbMenu == NULL)
>       {
>             ::MessageBox(0, "info", "Failed getting menu handle", MB_OK);
>       }
>       else
>       {
>             ::InsertMenu(hmbMenu, -1, MF_BYPOSITION, MF_STRING, pMsg);
>             ::DrawMenuBar(HmbWindow);
>
>             //  get process ID
>             unsigned long threadID = 0;
>             ::GetWindowThreadProcessId(HmbWindow, &threadID);
>             HINSTANCE hModHnd = ::GetModuleHandle(NULL);
>
>             g_hHook = (HHOOK)SetWindowsHookEx(WH_GETMESSAGE,
>                (HOOKPROC)MyHookProc, hModHnd, threadID);

It still looks to me like you're calling SetWindowsHookEx in the context of
an application instead of a dll. Certainly GetModuleHandle is returning you
the HINSTANCE of the app, and all of that is incorrect for a global hook. At
the very least, your HOOKPROC needs to be in a dll, and the HINSTANCE you
pass to SetWIndowsHookEx needs to be that of the dll that exports your
HOOKPROC. It also looks like g_hHook lives in the app here as well. I'm
pretty sure that g_hHook also need to be in the dll and exist in a shared
segment so that your HOOKPROC can pass it to CallNextHookEx in the context
of any process that loads it.
-- 
Jeff Partch [VC++ MVP]


0
jeffp (1712)
11/9/2004 5:34:17 PM
All DLLs, including any form of plugin, can have a DllMain. I am not aware of any reason a
DLL cannot have a DllMain.
				joe

On Mon, 8 Nov 2004 15:38:24 -0800, "sklett" <asasd@asdfasdfsd.com> wrote:

>ah, the second snag, I don't have a DLL main.  This is a plugin DLL that is
>loaded into a host application.
>From what I understand, calling GetModuleHandle(NULL) should return the
>handle of the calling module, if that is the case, then this is what I want
>because my HOOKPROC is in the same module.
>
>This is over my head, but I will learn from this if it kills me.  ;)
>
>OK, I will take a look at the link.  Thanks for the responses!
>
>-SK
>
>
>"Jeff Partch" <jeffp@mvps.org> wrote in message
>news:%23dPAgsexEHA.2996@TK2MSFTNGP10.phx.gbl...
>> "sklett" <asasd@asdfasdfsd.com> wrote in message
>> news:e0frQfexEHA.3224@TK2MSFTNGP14.phx.gbl...
>> > Right, I've poured over that 3 or 4 times, but it looks like everything
>is
>> > fine, EXCEPT
>> > "If the dwThreadId parameter is zero or specifies the identifier of a
>> thread
>> > created by a different process, the lpfn parameter must point to a hook
>> > procedure in a dynamic-link library"
>> >
>> > My code IS in a DLL.  So do I need to have a separate DLL just for the
>> > HOOKPROC?  I don't understand if that's what it saying, it would seem
>odd
>> > that I would need that.
>>
>> No, I don't think so. What I suspect is that your use of GetModuleHandle
>is
>> not returning the HINSTANCE of the dll. Try using the HINSTANCE passed to
>> your DllMain. And then see Bob Moore's tutorial...
>>
>> http://bobmoore.mvps.org/Win32/w32tip69.htm
>>
>> -- 
>> Jeff Partch [VC++ MVP]
>>
>>
>

Joseph M. Newcomer [MVP]
email: newcomer@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
0
newcomer (15974)
11/10/2004 1:58:17 PM
OK, I have created the projects and have the example working from the link
you specified, as soon as I pass a thread ID to the call to SetWindowsHookEx
it fails.

So I'm back to square one.  Can you think of anything else that might be
worth trying?


"Jeff Partch" <jeffp@mvps.org> wrote in message
news:%23dPAgsexEHA.2996@TK2MSFTNGP10.phx.gbl...
> "sklett" <asasd@asdfasdfsd.com> wrote in message
> news:e0frQfexEHA.3224@TK2MSFTNGP14.phx.gbl...
> > Right, I've poured over that 3 or 4 times, but it looks like everything
is
> > fine, EXCEPT
> > "If the dwThreadId parameter is zero or specifies the identifier of a
> thread
> > created by a different process, the lpfn parameter must point to a hook
> > procedure in a dynamic-link library"
> >
> > My code IS in a DLL.  So do I need to have a separate DLL just for the
> > HOOKPROC?  I don't understand if that's what it saying, it would seem
odd
> > that I would need that.
>
> No, I don't think so. What I suspect is that your use of GetModuleHandle
is
> not returning the HINSTANCE of the dll. Try using the HINSTANCE passed to
> your DllMain. And then see Bob Moore's tutorial...
>
> http://bobmoore.mvps.org/Win32/w32tip69.htm
>
> -- 
> Jeff Partch [VC++ MVP]
>
>


0
asasd (36)
11/10/2004 11:50:57 PM
Reply:

Similar Artilces:

Newbie Question
Ok, I'm tearing my hair out. I've searched for about 6 hours (and I thought I was pretty good at searching/researching on the 'net before this) and apparently, I'm just blonde and that's that. It seems to me what I'm trying to do would be in a "Welcome to Excel 101" tutorial on the first page... argh! Anyway, I'm trying to get a final sum of two cells. Below, I'll try to give a step by step example of the possible scenarios I'm trying to resolve in one single cell, the sum of two other cells, which may contain double positives, double negatives...

sumifs help
I have the following formula. =SUMIFS(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) It now needs to be changed to a formula that can handle text instead of numbers. How do i do it? Use Countif instead of Sumif from =SUMIF(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) to =CountIF(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) Do you really have a function Countifs with an "S" at the end? thie maybe an UDF that needs to be modified. -- joel ------------------------------------------------------------------------ joel's Profile: 229 View this th...

Help !
I need to create a data input screen on excel where multiple users at the same time will use them & input data. This data then needs to be stored as a database as well, where i can use it to understand trends Thank you. and the question is ...? <abrahamsaj@gmail.com> wrote in message news:1132155054.927936.191640@z14g2000cwz.googlegroups.com... >I need to create a data input screen on excel where multiple users > at the same time will use them & input data. > This data then needs to be stored as a database as well, where i can > use it to understand trends >...

Help with this thing
It was working in the window "Transactions >> Sales >> Transactions of Sales", but exactly were publishing a Quotation, which i wanna print, more nevertheless was shut up to me network, then I closed the window and it threw several messages to me of error, and from that then it was blocked the quotation that was working. My question is as I can unblock this document? ...

Help with Outlook Setup!!!
I have XP Professional installed and Office XP Professional. I have several users setup for kids, as well as my admin account. I want to setup a Limited Account in addition to the Admin account for myself for daily use. Am I just suppose to pick a different account name and login password and then setup my MSN Messenger and Outlook POP email with same username and password that I used to setup the Admin account? I don't need to share any contacts or anything, I just setup the admin email in order to setup Outlook. I want to input my contact info etc., into the Limited account and use ...

HELP !!! I have a ARRAY Formula HELP !!!
Hello, Here is the ARRAY Formula I have and this is what I am using it for. The situation is that it worked 1 time and than not again. =INDEX(D48:K48,,MAX(IF(D48:K48<>"",COLUMN(D48:K48)))-COLUMN(D48)+1 Duty: I have a row of number that appear hourly (DOLLAR AMOUNTS), the numbe are anything from nothing to 10000. I want the hourly number to appea in specified cell. Here is an example. (I am using EXCEL 2000) Row D48:K48 answer in cell G2 1st hour D48 = $100.00 G2 Should be $100.00 2nd Hour D48 = $100.00 E48 = (nothing) G2 Should be (nothing) 3rd Hour D48 = $1...

exch 5.5 help
I am in a progress to upgrade Exchange 5.5 (on NT4) to Exhange 2k3 (on 2k3). I setup a test machine and upgrade the OS to w2k3. 1st I want to connect the 5.5 to AD, so I should install ADC. Can anyone tell me the steps? Frorestprep, domainprep, setup adc, and upgrade to exchange 2k3? If you run through the steps in the E2K3 deployment tools they will walk you through everything. -- Hope that helps. ------------------------- Jaclynn Hiranaka Enterprise Messaging Support This posting is provided "AS IS" with no warranties, and confers no rights. � 2004 Microsoft Corporation. Al...

Help with Formula Please 02-19-10
Need a Formula for the following: Data Table A B C D E F G H I 1 Tom A W 2 H 30 84 30 2 Peter A W 3 H 3 Nick B L 1 A 70 Columns F1:I3 from Data Table has break scores for each player. Below is the Result Table where I need to show a summary report for high breaks. I have no problem with Break as I use the Large function. I need a formula to insert in A1 and A2 to place the name for the corresponding breaks below. Result Table High Breaks A B Name Break 1 ...

help...help...help
I just installed Microsoft Office XP Professionaql with no problem. However, whenever I try to perform any task such as opening contacts area in order to create an entry, I receive a dialog box with Microsoft Outlook and a yellow exclamation point. Also, included in the dialog box are the words could not open the item, try again. Other information that might be important is that I use a pst file. The error message also occurs when I try to open the Contact folder from the folder list as well as when I try to perform any function. It was a clean install not an upgrade. Could you ...

Need help in data copying.
Hi I have an invoicing file in excel (Sheet1). I need to store the dat which is invoiced into another sheet. My Invoice Data starting from Ro 8 and column B to F (The first item is from B8-F8, second item i B9-F9). B-Item Code, C-Item Name, D-Qty, E-Price, F-Total. Once I print the invoice, I need to transfer the data to another shee (Sheet2) . When I create another invoice, the new data should be added below t the previous data in Sheet2. So that I can have all the items I sol in Sheet2. Can someone help me sending a macro for it??? I will be grateful to you. Thanks in advance Tom -...

Macro Help
Hi, I had alot of help yesterday from Jacob with the following macro, but am getting a 'run time error 13' when trying to run the macro, and i cannot see why. Any help much appreciated Sub OLApp() Dim objOL As Object, objApp As Object, lngRow As Long Set objOL = CreateObject("Outlook.Application") For lngRow = 9 To Cells(Rows.Count, "A").End(xlUp).Row If Range("E" & lngRow) = "" Then Set objApp = objOL.CreateItem(1) With objApp ..Subject = "Change Password for system" & Range("A" & lngRow)...

help me #2
how to restrict entering of same values or data in excel cell Hi if you mean the 'preventing of duplicate entries' you may check the following site http://www.cpearson.com/excel/NoDupEntry.htm -- Regards Frank Kabel Frankfurt, Germany mangesh khati wrote: > how to restrict entering of same values or data in excel > cell ...

Problem with LeadTools CreateWindow inCFormView -Help !!!
Hi , I have been using LeadTools in Visual Studio 2005. I have a tabctrl and dialogs in each tab and developed using CFormView. So a tabCtrl is a child of CFromView and tab1 is a child of TabCtrl. I want to insert a LEAD control in one of the tabs .i.e, Dialog.I am unable to insert a leadcontrol but inserting a control in the view was easy.The problem is I am not able to get the HWND associated to a particular dialog which is super child of View. Can somebody help me in creating a lead control in the dialog configdlg .h LAnnotationWindow m_LAnnoWnd; FormView.cpp CMyTabCtrl m_myCtrlTab; ...

CString help
I'm looking at a website on CString Management: http://www.codeproject.com:80/string/cstringmgmt.asp In the section entitled, "CString to char * II: Using GetBuffer," the author stresses calling ReleaseBuffer after calling GetBuffer. Is this always necessary? I often use CString::GetBuffer when using CStrings in MessageBox dialogs like so: MessageBox(m_hWnd, cString.GetBuffer(0), lpTitle, MB_OK); Should I be adding a ReleaseBuffer after a MessageBox call? Should I be passing my string data to the MessageBox in another way? Regards, Joe > Is this always necessary?...

HelpProvider and HTML Help interaction
I have an application with a .chm help-file. But I have some questions about the behaviour of the help-window. I use a modal application window and I can start the help. The help windows appears but it is allways in foreground of my application window. I can set the input focus on my window, the help window becomes inactive but I cannot move my window over the help window. So I have to close the help window or minimize it or move it aside of my application window when I want to go on in my application. The other problem is when I minimize the help window and then open a dialog...

Your Help is Appreciated
Dear all I am using MS Excel 2003 and I am trying to plot a graph/chart/graphical representation of the following: I would like to somehow plot : Time Price Meetings 16/09/2002 23/09/2002 225 27-Sep-02 30/09/2002 07/10/2002 14/10/2002 368 21/10/2002 23-Oct-02 28/10/2002 04/11/2002 354 11/11/2002 18/11/2002 235 25/11/2002 02/12/2002 I dont mind how the data is displayed but I envisaged some kind of bar chart to represent the prices and a line chart / crosses to indicate the dates of the meetings. Can anyone help with this or am I being stupid? Thanks for everything i...

Money-Changing Account number to handle Vanguard changes
Hi: Vanguard has changed the account numbers for its brokerage accounts. This has caused money to download brand new accounts with nothing in them and stop updating my old account numbered accounts. I changed the account numbers in Account Detail page but still not working. Anyone who has any info on what I'm missing please pass along. I cannot lose years and years of past data by just switching to the newly downloaded accounts. Greg PS: Microsoft Money Plus Premium, most recent version On the old accounts, turn off on-line updates. You should then be able to merge the old accoun...

bcc help
can't seem to send mail to bcc? I copied e-mail addresses from an excel spreadsheet and pasted the into the bcc header. I made sure there was coma between each. I entered the form letter and "from" and "to" and "subject" fields an sent the mail. The "to" received the mail but the bcc did NOT receive the mail. What did I do wrong ----------------------------------------------- ~~ Message posted from http://www.ExcelTip.com ~~View and post usenet messages directly from http://www.ExcelForum.com ...

Rules Wizard Help
I have a rule in the Rules Wizard that forwards on an email to distribution list that is received from a certain person. I would like to have a rule that forwards on this email, but I woul like to forward it with some set text as well. For example, the email shows after being forwarded by the rule: > ---------- > From: Person1 > Sent: Friday, February 20, 2004 6:52:37 AM > To: DistributionList > Subject: DISCOVERER SHOULD NOW BE AVAILABLE > Auto forwarded by a Rule > > DISCOVERER SHOULD NOW BE AVAILABLE However, after I would like it to forward some text as ...

More help with formula
I need 2 formulas for the following: Problem 1: Columns "c" thru "g" contain numbers from 1 thru 100. If th numbers is those columns are 50 or less then I the sum to go in on column; then the sum of numbers between 51 to 100 to go into anothe column. Problem 2: Columns "c" thru "g" contain numbers from 1 thru 100. If th individual number 1-100 is used (3 times, 4 times, 5 times, etc.) tota the I need to show the number of times it was used in the columns. For example: If 1 is used 5 times in columns C thru G then the numbe is 5; the same with 2, th...

help help help IF function
i am new to excell and need help with a problem...... the problem is iam looking for a amount < = 3000.00 and iam to display in bold and in light green i have never had to deal with that i got as far as =IF<=3000 then iam lost or it that even right?? I'm far from a whiz at Excel but I'd use conditional formatting. -- JoAnn Paules MVP Microsoft [Publisher] ~~~~~ How to ask a question http://support.microsoft.com/KB/555375 "kimmy" <kimmy@discussions.microsoft.com> wrote in message news:ADC77884-FC87-47A3-90F2-D2AAF957F5D1@microsoft.com... >i a...

IF OR help
I have entered the formula =IF(OR(D5="K",D5<=4,M32<=95),"INELIGIBLE"," ") I am trying to get a result that will display INELIGIBLE when the value in D5 is K,1,2,3,4 OR the value in M32 is less than 96. with this formula I now get INELIGIBLE when D5 is blank. I would like cell to be blank unless one of the specific conditions is met. If either D5 or M32 is blank, I would like this cell to also be blank M32 contains a formula that returns a blank cell unless data is entered elsewhere in the workbook Thanks for all the help -- dbconn...

Help -- Help -- Help
Hi, I am having a lot of trouble with Outlook. I understand the other Microsoft programs, but for some reason I can't get Outlook. Does anyone know of any books that really breakdown the concepts of Outlook? Thank you. Donald Donald8044 wrote: > Hi, > > I am having a lot of trouble with Outlook. > > I understand the other Microsoft programs, but for some reason I > can't get Outlook. > > Does anyone know of any books that really breakdown the concepts of > Outlook? > > Thank you. > > Donald Umm what exactly do you mean - "but for some...

Drop Down Menu Help #2
Leave a blank row? How would I do that? For the drop down, I use th validation function, and it lets you list what you put in to the dro down and you have to separate it by commas. a,b,c,d, ect. How would do what you are suggesting -- mcr ----------------------------------------------------------------------- mcr1's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=1549 View this thread: http://www.excelforum.com/showthread.php?threadid=27475 Then you follow Debra's suggestion. I took for granted that you were using a list contained in a named range, where ...

Help, please: sorting the Legend
I'm lucky if I use 10% of the power of Excel. I would be grateful for advice. Ten salesmen on a team. At the end of each month, their cumulative totals for the year are updated. The spreadsheet gets re-sorted, showing their standing in rank order. Simple enough. At the beginning of the year, I created a line chart to track each person's progress. I initially listed the names in alphabetical order and defined the series accordingly. The problem comes when I do the end of the month re-sort. The names in the Legend are no longer in alphabetical order but neither do they correctly corres...