Visual C++ Developer Center > Visual C++ Forums > Visual C++ General > SendMessage and error 0xC0000005
Ask a questionAsk a question
 

AnswerSendMessage and error 0xC0000005

  • Friday, November 06, 2009 10:47 PMNarcyssus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code
    i have a problem at
    case IDC_LBPS:
         {
          switch (HIWORD(wParam)) 
          { 
           case LBN_SELCHANGE:
           {
    	  	char bName[256];
           
    	    SendMessage(LBPS,LB_GETTEXT,SendMessage(LBPS,LB_GETCURSEL,0,0L),(LPARAM)bName);
    	    SendMessage(TN,WM_SETTEXT,0,(LPARAM)bName);
    		ReadPwrScheme(SendMessage(LBPS,LB_GETCURSEL,0,0L),&pp);
    		SendMessage(TV,WM_SETTEXT,0,(LPARAM)(LPCWSTR)pp.user.VideoTimeoutAc);
    		        
    	 	break; 
           }
    
    	   break;
          }
    
    	  break;
         }
    
    program compiles, but
    When i'mtrying to sendmessage to edit control with the powerpolicy.user.VideoTimeoutAc i have an error  "0x7e38c1f9" "MyKursTst.exe": 0xC0000005: "0x00000384".

    help please

    P.S. Sorry for my english.

Answers

  • Saturday, November 07, 2009 7:33 PMNikita Leontiev Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    You need to convert pp.user.VideoTimeoutA to string.

    Do something like this:
    char *sTemp = new char[256];
    itoa(pp.user.VideoTimeoutAc, sTemp, 10);
    SendMessage(TV, WM_SETTEXT, 0, (LPARAM)(LPSTR)sTemp);
    delete[] sTemp;
    • Marked As Answer byNarcyssus Saturday, November 07, 2009 8:39 PM
    •  

All Replies

  • Friday, November 06, 2009 11:05 PMNikita Leontiev Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code
    pp.user.VideoTimeoutAc what is it?

    You got access violation trying to retrieve it.
  • Friday, November 06, 2009 11:12 PMNarcyssus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code
    POWER_POLICY pp;
    
    pp is global variable, and .user.VideoTimeoutAc one of its parametres
  • Saturday, November 07, 2009 12:01 AMNikita Leontiev Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    What function are you using to fill the POWER_POLICY struct? Check this code.
    Place breakpoint on SendMessage and look for VideoTimeoutAc value.

    Also, you cannot use VideoTimeoutAc as WM_SETTEXT message param, because it is ULONG. Need to convert to string.
    lParam should be pointer to a null-terminated string.
  • Saturday, November 07, 2009 12:02 AMSheng Jiang 蒋晟MVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Did you allocate memory for both .user and user.VideoTimeoutAc? Is the memory for VideoTimeoutAc large enough to hold the returning string?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
  • Saturday, November 07, 2009 12:19 AMNarcyssus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    to fill POWER_POLICY struct i call ReadPwrScheme function.

    i think that "(LPCWSTR)" before argument convert argument, or I am not right?
  • Saturday, November 07, 2009 12:20 AMNarcyssus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    i just disclose variable of POWER_POLICY type...
  • Saturday, November 07, 2009 11:29 AMNarcyssus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    are there any other ways to realize a conclution of VideoTimeoutAc to edit control?
  • Saturday, November 07, 2009 7:33 PMNikita Leontiev Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    You need to convert pp.user.VideoTimeoutA to string.

    Do something like this:
    char *sTemp = new char[256];
    itoa(pp.user.VideoTimeoutAc, sTemp, 10);
    SendMessage(TV, WM_SETTEXT, 0, (LPARAM)(LPSTR)sTemp);
    delete[] sTemp;
    • Marked As Answer byNarcyssus Saturday, November 07, 2009 8:39 PM
    •  
  • Saturday, November 07, 2009 8:39 PMNarcyssus Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Thx,  Nikita L, you helped mr very much.
    it's really works...