如何在应用程序打开时运行初始化的操作?

时间:2021-05-19 19:49:37
我要初始化一个硬件设备,想在应用程序打开时调用这个初始化函数,应该在哪儿里调用这个函数?

由于参数以及函数的返回值在CView类也要用,因此需要定义为全局的常量和变量,在哪儿定义它们啊?

初始化成功之后,我想弹出一个MessageBox,想设置在定义成功后两秒钟后弹出MessageBox,具体如何实现啊?

问的有些繁琐,请不吝赐教啊!多谢!

8 个解决方案

#1


可以写成类的成员函数和成员变量!在OnInvalidate()函数里面调用相应的初始化函数并对对应的成员变量付值,CView类通过句柄或*都可以得到变量

初始化成功之后,我想弹出一个MessageBox,想设置在定义成功后两秒钟后弹出MessageBox

在初始化函数后面用Sleep(2000);

#2


1. 做个aaa.cpp,aaa.h文件,在 aaa.cpp里定义变量,在aaa.h里申明变量

aaa.cpp 内容
#include "stdafx.h"
#include "aaa.h"

int g_iTestValue;    // 定义全局变量

aaa.h 内容
#if !defined( AAA_H )
#define AAA_H

extern int g_iTestValue;

#endif



2. 
#include "aaa.h"

BOOL CxxxxApp::InitInstance()
{
    初始化
}

3. 在 CView::OnInitUpdate() 或者 CMainFrm::OnCreate() 里添加计时器,
SetTimer(1, 2000, NULL),在 OnTimer() 函数里显示 MessageBox

#3


同意qc_jrj()

#4


OnInvalidate()是整个程序的初始化函数,你可以在这个里面加

#5


OnInvalidate()在哪儿个类里面阿?具体位置在哪儿?

#6


昏了昏了,OnInvalidate()是什么东西?

应该在C...App::OnInitInstance()里调用初始化函数才比较合适吧。

#7


Mackz说的对啊,把硬件的初始化函数放在C**App::OnInitInstance()中,就会在程序一开始对硬件进行初始化.
全局变量在类定义的前面定义就可以了

#8


全局变量定义放在C**App的.cpp文件中
在C**App::InitInstance()函数前
bool g_IsInit;
并在C**App的.h头文件中声明
extern bool g_IsInit;
这样就可以在程序中任何地方使用全局变量g_IsInit了,而无需再次使用extern声明

#1


可以写成类的成员函数和成员变量!在OnInvalidate()函数里面调用相应的初始化函数并对对应的成员变量付值,CView类通过句柄或*都可以得到变量

初始化成功之后,我想弹出一个MessageBox,想设置在定义成功后两秒钟后弹出MessageBox

在初始化函数后面用Sleep(2000);

#2


1. 做个aaa.cpp,aaa.h文件,在 aaa.cpp里定义变量,在aaa.h里申明变量

aaa.cpp 内容
#include "stdafx.h"
#include "aaa.h"

int g_iTestValue;    // 定义全局变量

aaa.h 内容
#if !defined( AAA_H )
#define AAA_H

extern int g_iTestValue;

#endif



2. 
#include "aaa.h"

BOOL CxxxxApp::InitInstance()
{
    初始化
}

3. 在 CView::OnInitUpdate() 或者 CMainFrm::OnCreate() 里添加计时器,
SetTimer(1, 2000, NULL),在 OnTimer() 函数里显示 MessageBox

#3


同意qc_jrj()

#4


OnInvalidate()是整个程序的初始化函数,你可以在这个里面加

#5


OnInvalidate()在哪儿个类里面阿?具体位置在哪儿?

#6


昏了昏了,OnInvalidate()是什么东西?

应该在C...App::OnInitInstance()里调用初始化函数才比较合适吧。

#7


Mackz说的对啊,把硬件的初始化函数放在C**App::OnInitInstance()中,就会在程序一开始对硬件进行初始化.
全局变量在类定义的前面定义就可以了

#8


全局变量定义放在C**App的.cpp文件中
在C**App::InitInstance()函数前
bool g_IsInit;
并在C**App的.h头文件中声明
extern bool g_IsInit;
这样就可以在程序中任何地方使用全局变量g_IsInit了,而无需再次使用extern声明