mirror of
https://github.com/PowerShell/Win32-OpenSSH.git
synced 2025-07-23 14:04:59 +02:00
sample updates
This commit is contained in:
parent
91faab4d9e
commit
decdb8bf37
@ -30,16 +30,17 @@ DWORD WINAPI InThreadProc(
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
DWORD mode;
|
DWORD mode;
|
||||||
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &mode);
|
|
||||||
//SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), mode & ~(ENABLE_ECHO_INPUT | ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT));
|
|
||||||
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &mode);
|
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
char *cmd = "dir/r/n";
|
||||||
DWORD tmp;
|
DWORD tmp;
|
||||||
BOOL ret = TRUE;
|
BOOL ret = TRUE;
|
||||||
while (ret) {
|
while (ret) {
|
||||||
ret = ReadFile(GetStdHandle(STD_INPUT_HANDLE), buf, 1024, &tmp, NULL);
|
//ret = ReadFile(GetStdHandle(STD_INPUT_HANDLE), buf, 1024, &tmp, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
ret = WriteFile(in[1], buf, tmp, &tmp, NULL);
|
//WriteFile(in[1], buf, tmp, &tmp, NULL);
|
||||||
|
ret = WriteFile(in[1], cmd, 5, &tmp, NULL);
|
||||||
|
Sleep(3000);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -130,26 +131,58 @@ int main()
|
|||||||
si.lpReserved = 0;
|
si.lpReserved = 0;
|
||||||
si.lpTitle = NULL; /* NULL means use exe name as title */
|
si.lpTitle = NULL; /* NULL means use exe name as title */
|
||||||
si.dwFillAttribute = 0;
|
si.dwFillAttribute = 0;
|
||||||
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESIZE | STARTF_USECOUNTCHARS | STARTF_USESHOWWINDOW ;
|
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW ;
|
||||||
si.wShowWindow = 1; // FALSE ;
|
si.wShowWindow = 1; // FALSE ;
|
||||||
si.cbReserved2 = 0;
|
si.cbReserved2 = 0;
|
||||||
si.lpReserved2 = 0;
|
si.lpReserved2 = 0;
|
||||||
si.hStdInput = in[0];
|
//si.hStdInput = in[0];
|
||||||
|
si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
|
||||||
si.hStdOutput = out[1];
|
si.hStdOutput = out[1];
|
||||||
si.hStdError = err[1];
|
si.hStdError = err[1];
|
||||||
|
|
||||||
swprintf(cmd, L"%ls", L"cmd.exe");
|
swprintf(cmd, L"%ls", L"cmd.exe");
|
||||||
|
|
||||||
ret = CreateProcessW(NULL, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
|
ret = CreateProcessW(NULL, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
exit(-1);
|
exit(-1);
|
||||||
|
|
||||||
|
DWORD mode;
|
||||||
|
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &mode);
|
||||||
|
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), mode & ~( ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT));
|
||||||
|
GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &mode);
|
||||||
|
|
||||||
HANDLE t[2];
|
HANDLE t[2];
|
||||||
t[0] = CreateThread(NULL, 0, OutThreadProc, NULL, 0, NULL);
|
t[0] = CreateThread(NULL, 0, OutThreadProc, NULL, 0, NULL);
|
||||||
t[1] = CreateThread(NULL, 0, InThreadProc, NULL, 0, NULL);
|
//t[1] = CreateThread(NULL, 0, InThreadProc, NULL, 0, NULL);
|
||||||
|
|
||||||
|
//WriteFile(in[1], "dir\n", 4, &tmp, NULL);
|
||||||
|
//WriteFile(in[1], "d", 1, &tmp, NULL);
|
||||||
|
//WriteFile(in[1], "i", 1, &tmp, NULL);
|
||||||
|
//WriteFile(in[1], "r", 1, &tmp, NULL);
|
||||||
|
//WriteFile(in[1], "\r", 1, &tmp, NULL);
|
||||||
|
//WriteFile(in[1], "\n", 1, &tmp, NULL);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ret = true;
|
||||||
|
while (ret) {
|
||||||
|
ret = ReadFile(GetStdHandle(STD_INPUT_HANDLE), buf, 1024, &tmp, NULL);
|
||||||
|
if (ret) {
|
||||||
|
ret = WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), buf, tmp, &tmp, NULL);
|
||||||
|
|
||||||
|
if ((tmp == 1) && (buf[0] == 13))
|
||||||
|
buf[0] = 10;
|
||||||
|
|
||||||
|
if (ret)
|
||||||
|
//ret = WriteFile(in[1], buf, tmp, &tmp, NULL);
|
||||||
|
WriteFile(GetStdHandle(STD_INPUT_HANDLE), buf, tmp, &tmp, NULL);
|
||||||
|
//ret = WriteFile(in[1], "dir\r\n", 5, &tmp, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//SetConsoleCtrlHandler(HandlerRoutine, TRUE);
|
//SetConsoleCtrlHandler(HandlerRoutine, TRUE);
|
||||||
|
|
||||||
WaitForMultipleObjects(2, t, TRUE, INFINITE);
|
// WaitForMultipleObjects(2, t, TRUE, INFINITE);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user