#include static HANDLE hPipe = 0; BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; } __declspec(dllexport) int WINAPI Connect() { hPipe=CreateFile( "\\\\.\\pipe\\Stand", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if ((int)hPipe<0) { return -1; } else { return 0; } } __declspec(dllexport) int WINAPI Disconnect() { if ((int)hPipe<0) { return -1; } else { CloseHandle(hPipe); return 0; } } __declspec(dllexport) int WINAPI Send(const char* command, char* result, const int len) { DWORD numwrite=0; DWORD numread=0; memset(result,0,len); BOOL b; b=WriteFile(hPipe,command,strlen(command), &numwrite, NULL); if (!b) { return -1; } b=ReadFile(hPipe,result,len-1,&numread, NULL); if (!b) { return -1; } return 0; }