本文整理汇总了C++中PluginStartupInfo::Text方法的典型用法代码示例。如果您正苦于以下问题:C++ PluginStartupInfo::Text方法的具体用法?C++ PluginStartupInfo::Text怎么用?C++ PluginStartupInfo::Text使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PluginStartupInfo
的用法示例。
在下文中一共展示了PluginStartupInfo::Text方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OpenW
//.........这里部分代码省略.........
wsprintf( batchstr, batch, filename, ModuleName, pipename );
// obtaining temp file name
wchar_t tmp[MAX_PATH * 10];
GetTempPathW( sizeofa( tmp ), tmp );
GetTempFileNameW( tmp, L"", 0, tmp );
DeleteFileW( tmp );
lstrcatW( tmp, L".bat" );
HANDLE file = CreateFileW( tmp, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CREATE_ALWAYS, 0, 0 );
if( !file || file == INVALID_HANDLE_VALUE )
{
DeleteFileW( tmp );
free( filename );
free( batchstr );
return INVALID_HANDLE_VALUE;
}
DWORD written;
WriteFile( file, batchstr, lstrlen( batchstr ), &written, 0 );
CloseHandle( file );
wchar_t cmd[MAX_PATH * 10] = L"\"";
lstrcatW( lstrcatW( lstrcatW( lstrcatW( cmd, comspec ), L"\" /c \"" ), tmp ), L"\"");
STARTUPINFOW sinfo;
ZeroMemory( &sinfo, sizeof( sinfo ) );
sinfo.cb = sizeof( sinfo );
PROCESS_INFORMATION pinfo;
Handle np( CreateNamedPipe( pipename, PIPE_ACCESS_DUPLEX, PIPE_WAIT,
PIPE_UNLIMITED_INSTANCES, 100, 100, 0, 0 ) );
connected = false;
DWORD id;
Handle thread( CreateThread( 0, 0, ListenEnv, np, 0, &id ) );
while( !connected )
Sleep( 100 );
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), &csbi );
#ifndef LIGHTGRAY
#define LIGHTGRAY 7
#endif
wchar_t Blank[1024];
FSFW.sprintf(Blank,L"%*s",csbi.dwSize.X,L"");
FarColor fc = {FCF_NONE, LIGHTGRAY, 0, 0};
for (int Y=0;Y<csbi.dwSize.Y;Y++)
InfoW.Text(0,Y,&fc,Blank);
InfoW.Text(0,0,0,NULL);
COORD C;
C.X=0;
C.Y=csbi.dwCursorPosition.Y;
SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), C );
wchar_t* curr_dir = (wchar_t*)malloc(CUR_DIR_SIZE);
FSFW.GetCurrentDirectory(CUR_DIR_SIZE, curr_dir);
if( np && CreateProcessW( NULL, cmd, 0, 0, TRUE, 0, 0, curr_dir[0] ? curr_dir : 0, &sinfo, &pinfo ) )
{
HANDLE ar[] = {pinfo.hProcess, np};
WaitForMultipleObjects( 2, ar, TRUE, INFINITE );
CloseHandle(pinfo.hProcess);
CloseHandle(pinfo.hThread);
SMALL_RECT src;
COORD dest;
CHAR_INFO fill;
src.Left=0;
src.Top=2;
src.Right=csbi.dwSize.X;
src.Bottom=csbi.dwSize.Y;
dest.X=dest.Y=0;
fill.Char.AsciiChar=' ';
fill.Attributes=7;
ScrollConsoleScreenBuffer( GetStdHandle( STD_OUTPUT_HANDLE ), &src, NULL, dest, &fill);
InfoW.AdvControl(0, ACTL_REDRAWALL, 0, 0);
}
else
Handle onp( CreateFile( pipename, GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0 ) );
free( filename );
free( batchstr );
free( curr_dir );
DeleteFileW( tmp );
return 0;
}