请问如何才能在一个窗口刚刚显示时执行一段代码,而此代码只执行一次?要求代码执行时窗口已经显示在屏幕上。

解决方案 »

  1.   

    最笨的方法就是增加一个变量并初始化为真.
    在onpaint中如果变量真"执行一段代码"后把这个变量设为false
      

  2.   

    只运行一次可以设一个互斥量
    m_hMutex=OpenMutex(MUTEX_ALL_ACCESS,FALSE,AppName);
    if(m_hMutex==NULL){

    m_hMutex=CreateMutex(NULL,TRUE,AppName);
    }
    在窗口已经显示后执行,可以查一下一些窗口消息,像WM_SYSCOMMAND 之类的
    有很多
      

  3.   

    能不能在OnShowWindow中让窗口先显示出来,就像VB的form.show一样?