屏保实际上就是一个应用程序,只不过后缀名不是exe,而是scr
所以你可以使用API函数CreateProcess运行一个屏保,但是你需要一个参数/s
比如说你有一个屏保叫ssflwbox.scr,当你直接运行ssflwbox.scr是会显示设置窗口的,而你运行ssflwbox.scr /s的时候屏保就运行了
明白没有?
给个例子给你:
#include <windows.h>
int main()
{
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(si);
TCHAR szCommmandLine[] = TEXT("/"C://windows//system32//ssflwbox.scr/" -s");
if( !CreateProcess( NULL /*lpApplicationName*/,
szCommmandLine /*lpCommandLine*/,
NULL /*lpProcessAttributes*/,
NULL /*lpThreadAttributes*/,
FALSE/*bInheritHandles*/,
0 /*dwCreationFlags*/,
NULL /*lpEnvironment*/,
NULL /*lpCurrentDirectory*/,
&si /*lpStartupInfo*/,
π /*lpProcessInformation*/)
)
{
/*CreateProcess failed*/
return -1;
}
// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
return 0;
}
如何在MFC应用程序中调用屏保?
最新推荐文章于 2015-06-14 20:03:25 发布