亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gina.cpp

?? 通過手機(jī)藍(lán)牙控制個人電腦上的幻燈片的播放
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include "stdafx.h"
#include "Gina.h"
#include "WinLogonInterface.h"
#include "NoticeDialog.h"
#include "StatusWindow.h"
#include "SecurityOptionsDialog.h"
#include "SecurityHelper.h"
#include "RegistryHelper.h"
#include <stdio.h>
#include <winsock2.h>
#include <string>
#include <cstdlib>
#include <stdio.h>
#include "BTH_Connection.h"
#include "Base64.h"
#include <Windows.h>
#include <process.h>
#include <Winuser.h>
#include <WinAble.h>

#define LOGON_SID_SIZE 20
BTH_Connection* BTH_Conn;
static DWORD _winLogonVersion;

using namespace std;


void _cdecl test(void* dummy){
	((LogonDialog *)dummy)->Show();
}
void _cdecl test1(void* dummy){
	//hSASWnd = FindWindow("SAS Window class", "NoticeDialog");
	//((NoticeDialog  *)dummy)->Show();
}
static wchar_t* _localAllocString(const wchar_t* s) {
	if (!s) return 0;

	const int cb = (1 + lstrlen(s)) * sizeof *s;
	wchar_t* newStr = (wchar_t*)LocalAlloc(LMEM_FIXED, cb);
	if (newStr)
		CopyMemory(newStr, s, cb);
	else LOOM;
	return newStr;
}

static BOOL _isRemoteSession() {
	return 0 != GetSystemMetrics(SM_REMOTESESSION);
}

bool Gina::Start(){

	if(BTH_Conn->StartBTH()&&BTH_Conn->RegisterBlueToothService()){
		//_pWinLogon->wlxMessageBox(0, L"Start Bluetooth Success", L"Logon Message", MB_ICONINFORMATION);
		//printf("Start Bluetooth Success\n");
		return true;
	}
	else{
		Sleep(2000);
		//_pWinLogon->wlxMessageBox(0, L"Start Bluetooth failed", L"Logon Message", MB_ICONINFORMATION);
		//printf("Start bluetooth failed\n");
		return false;
	}
}
bool Gina::WaitingForConnection(LogonDialog& ptrLD){
	//_pWinLogon->wlxMessageBox(0, L"Waiting for Connection", L"Logon Message", MB_ICONINFORMATION);
	bool IsListenSuccess = BTH_Conn->ListenConnection();
	if(IsListenSuccess){
		//nd->close();
		_beginthread(test,0,&ptrLD);
		//_pWinLogon->wlxMessageBox(0, L"Start Listen success", L"Logon Message", MB_ICONINFORMATION);
		//printf("Start Listen success\n");
	}else{
		//_pWinLogon->wlxMessageBox(0, L"Start Listen failed", L"Logon Message", MB_ICONINFORMATION);
		//printf("Start Listen failed\n");
		return false;
	}
	BTH_Conn->AcceptConnection();
	//_pWinLogon->wlxMessageBox(0, L"Connection estiblished", L"Logon Message", MB_ICONINFORMATION);
	//printf("Connection estiblished\n");
	return IsListenSuccess;
}

void Gina::StartRecieveData(bool& blnContinue, PLUID& pAuthenticationId, PHANDLE& phToken){
	int i = 0;
	int count =0;
	while(blnContinue){
		string s = *(BTH_Conn->RecieveMessage());

		if(s.size() >= 4){
			string s1 = s.substr(0,4);
			string s2 = s.substr(4);
			if (s1.compare("1100") ==0){
				//set username
				wchar_t *b = new wchar_t[1000];
				mbstowcs(b, s2.c_str(), s2.size());
				//puts(a);
				if(s2.size()<8){
					for(int i=0;i<8;i++){
						if(b[i] == 0xfdfd || b[i] == 0xabab ||  b[i] == 0xcdcd ){
							b[i] = 0x0000;
						}
					}
				}else{
					b[s2.size()] = 0x0000;
				}
				usr = b;
				//_pWinLogon->wlxMessageBox(0, usr, L"This is received username", MB_ICONHAND );
			}
			if (s1.compare("1101") ==0){
				// set password
				wchar_t *b = new wchar_t[1000];
				mbstowcs(b, s2.c_str(), s2.size());
				if(s2.size()<8){
					for(int i=0;i<8;i++){
						if(b[i] == 0xfdfd || b[i] == 0xabab ||  b[i] == 0xcdcd ){
							b[i] = 0x0000;
						}
					}
				}else{
					b[s2.size()] = 0x0000;
				}
				pwd = b;
				//_pWinLogon->wlxMessageBox(0, pwd, L"This is received password", MB_ICONHAND );
			}
			if (s1.compare("1110") == 0){
				DWORD win32Error;
				MSV1_0_INTERACTIVE_PROFILE* pProfile = 0;
				//if(SecurityHelper::CallLsaLogonUser(_hLsa, dom, usr, pwd, Interactive, pAuthenticationId, phToken, &pProfile, &win32Error)){
					//_pWinLogon->wlxMessageBox(0, L"Password correct", L"This is received password", MB_ICONHAND );
				//}else{
					//_pWinLogon->wlxMessageBox(0, L"Password failed", L"This is received password", MB_ICONHAND );
				//}

				if(SecurityHelper::CallLsaLogonUser(_hLsa, dom, usr, pwd, Interactive, pAuthenticationId, phToken, &pProfile, &win32Error)){
					BTH_Conn->SendMsg("true");
				}else{
					BTH_Conn->SendMsg("false");
				}
				//!SecurityHelper::CallLsaLogonUser(  Interactive, pAuthenticationId, phToken, &pProfile, &win32Error)
				//_pWinLogon->wlxMessageBox(0, L"Server Exiting", L"...", MB_ICONHAND );
				blnContinue= false;
			}
			if (s1.compare("1111") == 0){
				//_pWinLogon->wlxMessageBox(0, L"Server Exiting", L"...", MB_ICONHAND );
				blnContinue= false;
			}
		}

		// ack
		

		if(BTH_Conn->IsDisconnected()) break;
	}
	//_pWinLogon->wlxMessageBox(0, L"ACK", L"Logon Message", MB_ICONINFORMATION);
	
}

void Gina::StartServer(LogonDialog& ptrLD,PLUID& pAuthenticationId,PHANDLE& phToken ){
	//_pWinLogon->wlxMessageBox(0, L"Server Started", L"Logon Message", MB_ICONINFORMATION);
	BTH_Conn  = new BTH_Connection();
	bool blnContinue=true;
	while(blnContinue == true){
		while((blnContinue == true) && Start()){
			while((blnContinue == true)&& WaitingForConnection(ptrLD)){
				StartRecieveData(blnContinue,pAuthenticationId,phToken);
				
			}
		}
	}
	//return 1;
}
wchar_t Gina::ToWChar(const char* nInfo, ...){
	char infoString[256];
	va_list marker;

	va_start(marker, nInfo);
//	vsprintf(infoString,nInfo,marker);

	int		i,lenI=(int)strlen(infoString);
	wchar_t wInfo[256];

	for(i=0; i<lenI; i++)
		wInfo[i] = infoString[i];
	wInfo[lenI] = 0;

	return *wInfo;

	//::MessageBoxW(NULL, wInfo, wTitle, MB_OK|MB_SETFOREGROUND|MB_TOPMOST);
}

// STATIC method
BOOL Gina::Negotiate(DWORD dwWinlogonVersion, DWORD* pdwDllVersion) {
	// fail if WinLogon is not at least version 1.3
	if (dwWinlogonVersion < WLX_VERSION_1_3) {
		return FALSE;
	}

	// record which version of WinLogon we're dealing with
	_winLogonVersion = dwWinlogonVersion;

	LDB1(L"WinLogon version is 0x%08X", _winLogonVersion);

	switch (_winLogonVersion) {
		case WLX_VERSION_1_3:
		case WLX_VERSION_1_4:
			// we'll be whatever version WinLogon needs us to be
			// we can support both 1.3 and 1.4
			*pdwDllVersion = _winLogonVersion;
			break;
	}
	return TRUE;
}

// STATIC method
BOOL Gina::Initialize(HANDLE hWlx, PVOID pWinlogonFunctions, Gina** ppNewGina) {

	// to interactively debug, be sure _DEBUG is defined, and pass NULL for both hWlx and pWinlogonFunctions
#ifdef _DEBUG
	IWinLogon* pWinLogon = 0;
	if (pWinlogonFunctions)
		pWinLogon = new WinLogonInterface(hWlx, _winLogonVersion, pWinlogonFunctions);
	else pWinLogon = new MockWinLogonInterface();
#else
	IWinLogon* pWinLogon = new WinLogonInterface(hWlx, _winLogonVersion, pWinlogonFunctions);
#endif

	if (!pWinLogon) {
		LOOM;
		return FALSE;
	}

	HANDLE hLsa;
	if (!SecurityHelper::RegisterLogonProcess(LOGON_PROCESS_NAME, &hLsa)) {
		return FALSE;
	}

	*ppNewGina = new Gina(pWinLogon, hLsa);
	if (!*ppNewGina) {
		LOOM;
		return FALSE;
	}
	return TRUE;
}

Gina::Gina(IWinLogon* pWinLogon, HANDLE hLsa)
: _pWinLogon(pWinLogon), _hLsa(hLsa), _hToken(0), _profilePath(0), _pStatusWindow(0) {

	// tell WinLogon we wish to use Ctrl-Alt-Delete for our SAS
	DWORD oldValue;
	_pWinLogon->wlxSetOption(WLX_OPTION_USE_CTRL_ALT_DEL, TRUE, &oldValue);

	if (_isRemoteSession()) {
		// remote users cannot press Ctrl-Alt-Del, so we simulate it ourselves
		_pWinLogon->wlxSasNotify(WLX_SAS_TYPE_CTRL_ALT_DEL);
	}
}

void Gina::DisplaySASNotice() {
	
	//FindWindow
							  // GenerateKey (VK_CONTROL, FALSE);
						   //GenerateKey (VK_MENU, FALSE);
						   //GenerateKey (VK_DELETE, FALSE);
						   //GenerateKey (VK_CONTROL, TRUE);
						   //GenerateKey (VK_MENU, TRUE);
						   //GenerateKey (VK_DELETE, TRUE);
	//NoticeDialog dlg(_pWinLogon, IDD_SASNOTICE);
	//dlg.Show();
	_pWinLogon->wlxSasNotify(WLX_SAS_TYPE_CTRL_ALT_DEL);
	////*nd = dlg;
	//_beginthread(test1,0,&dlg);
}

int Gina::LoggedOutSAS(DWORD dwSasType, PLUID pAuthenticationId, PSID pLogonSid, PDWORD pdwOptions,
					   PHANDLE phToken, PWLX_MPR_NOTIFY_INFO pNprNotifyInfo, PVOID* ppWinLogonProfile) {

						   ZeroMemory(pNprNotifyInfo, sizeof *pNprNotifyInfo);
							bool IsFail = false;
						   *pdwOptions = 0;

						   wchar_t*       profilePath = 0;
						   const wchar_t* domain      = 0;
						   const wchar_t* userName    = 0;
						   const wchar_t* password    = 0;

						   LogonDialog dlg = LogonDialog(_pWinLogon);

						   
/*						   HANDLE hMutex;
							   hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, L"_ac952_z_cn_CTRL_ALT_DEL");

							   if (hMutex){
								 CloseHandle(hMutex);
								return WLX_SAS_ACTION_NONE;
								}
*/

						   if (WLX_SAS_TYPE_CTRL_ALT_DEL == dwSasType) {

								
								//return prcWlxLoggedOnSAS (pWlxContext,dwSasType,pReserved);
							

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡不码高清免费观看| 精品久久人人做人人爽| 国产精品美日韩| 成人激情动漫在线观看| 国产精品免费观看视频| 99视频国产精品| 一区二区免费在线| 制服丝袜中文字幕亚洲| 毛片基地黄久久久久久天堂| 欧美精品一区二区三区蜜臀| 国产盗摄一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 91免费在线播放| 天天综合网 天天综合色| 日韩欧美国产午夜精品| 福利一区在线观看| 亚洲综合色丁香婷婷六月图片| 3d成人动漫网站| 成人午夜碰碰视频| 亚洲一区二区三区视频在线| 日韩久久久精品| a级高清视频欧美日韩| 亚洲国产成人tv| 国产亚洲欧美色| 欧美系列在线观看| 麻豆91精品91久久久的内涵| 欧美激情一区二区在线| 欧美午夜精品久久久久久超碰| 麻豆视频一区二区| 亚洲欧美日韩国产另类专区| 日韩午夜av电影| 99精品一区二区| 美女久久久精品| 亚洲另类在线一区| 日韩欧美成人午夜| 91丨porny丨首页| 久久99久久久欧美国产| 一区二区三区四区亚洲| 久久久国际精品| 欧美人与性动xxxx| 99精品欧美一区二区三区小说| 国产精品2024| 亚洲小少妇裸体bbw| 久久精品免费在线观看| 欧美亚洲综合色| 成人黄色在线网站| 国产综合色精品一区二区三区| 亚洲精品日韩综合观看成人91| 2021久久国产精品不只是精品| 欧美视频日韩视频| 99精品黄色片免费大全| 国产精品羞羞答答xxdd| 日本一不卡视频| 洋洋av久久久久久久一区| 欧美激情一二三区| 亚洲精品一区二区三区在线观看| 欧美日韩一级片在线观看| 99精品视频在线观看免费| 国产原创一区二区三区| 美国毛片一区二区三区| 日本麻豆一区二区三区视频| 亚洲综合自拍偷拍| 中文字幕日韩一区| 国产日韩欧美在线一区| 久久综合色婷婷| 精品播放一区二区| 日韩免费视频一区二区| 91精品中文字幕一区二区三区| 91国产免费看| 91国在线观看| 欧美亚洲综合一区| 欧美午夜精品久久久久久孕妇| 在线亚洲+欧美+日本专区| 91玉足脚交白嫩脚丫在线播放| 东方欧美亚洲色图在线| 成人夜色视频网站在线观看| 国产精品一区二区在线播放| 国精产品一区一区三区mba视频 | 国产精品高潮呻吟| 国产女人18毛片水真多成人如厕| 欧美精品一区二区三区在线播放 | 亚洲嫩草精品久久| 亚洲天堂2014| 一区二区免费看| 亚洲福利国产精品| 日本美女一区二区三区| 久色婷婷小香蕉久久| 韩国欧美国产1区| 国产成人激情av| 99re热这里只有精品免费视频| 91视频一区二区| 欧美主播一区二区三区美女| 欧美体内she精高潮| 欧美日韩aaa| 精品1区2区在线观看| 国产女人aaa级久久久级| 中文字幕在线播放不卡一区| 一区二区成人在线视频| 日韩精品免费视频人成| 极品尤物av久久免费看| 国产福利91精品一区二区三区| 成人av免费网站| 欧美色大人视频| 精品av综合导航| 国产精品久久影院| 五月激情综合网| 国产尤物一区二区| 色国产综合视频| 日韩久久精品一区| 亚洲欧美偷拍卡通变态| 日本在线不卡视频| 成人做爰69片免费看网站| 在线一区二区观看| 精品久久久久久久一区二区蜜臀| 国产精品蜜臀av| 日韩精品色哟哟| 9i在线看片成人免费| 欧美日本在线播放| 中文字幕免费观看一区| 天堂精品中文字幕在线| 成人午夜视频网站| 日韩一区二区在线观看视频播放| 久久久777精品电影网影网 | 国产风韵犹存在线视精品| 色诱视频网站一区| 欧美精品一区二| 一区二区三区四区亚洲| 国产电影一区二区三区| 欧美欧美欧美欧美首页| 国产精品少妇自拍| 久久激情五月婷婷| 欧洲精品一区二区| 国产精品视频第一区| 极品销魂美女一区二区三区| 欧美色倩网站大全免费| 中文字幕精品综合| 韩国午夜理伦三级不卡影院| 91精品1区2区| 国产精品福利影院| 国产一区二区0| 日韩欧美另类在线| 五月激情综合网| 欧美日韩中文国产| 亚洲视频1区2区| 成人av资源网站| 久久精品人人做人人爽97| 久久不见久久见免费视频1| 欧美视频中文字幕| 亚洲乱码国产乱码精品精小说| 国产成人精品一区二| 精品国产乱码久久久久久蜜臀| 亚洲成人激情自拍| 91久久国产最好的精华液| 综合久久国产九一剧情麻豆| 国产成人在线视频网址| 久久久久久久久久久电影| 日韩影视精彩在线| 制服丝袜亚洲精品中文字幕| 亚洲在线观看免费视频| 91视视频在线直接观看在线看网页在线看| 久久久国产综合精品女国产盗摄| 日韩av不卡在线观看| 91精品国产综合久久香蕉麻豆| 亚洲综合丁香婷婷六月香| 色综合天天综合色综合av| 中文字幕精品一区二区精品绿巨人 | 欧美电影免费观看高清完整版在 | 日韩精品一区二区三区四区视频| 天天色综合天天| 欧美久久婷婷综合色| 亚洲在线一区二区三区| 色先锋久久av资源部| 亚洲日本护士毛茸茸| 91免费在线播放| 亚洲国产另类精品专区| 欧美日韩专区在线| 日韩中文字幕91| 日韩免费电影网站| 国产剧情一区二区| 国产精品毛片久久久久久| 成人免费高清在线| 亚洲免费高清视频在线| 欧美午夜精品一区二区蜜桃| 性久久久久久久久久久久| 欧美一三区三区四区免费在线看 | 欧美日韩国产免费一区二区 | 91丝袜国产在线播放| 一区二区三区中文在线| 欧美色图12p| 琪琪一区二区三区| 精品粉嫩超白一线天av| 成人午夜免费电影| 亚洲国产成人精品视频| 日韩欧美黄色影院| 成人国产视频在线观看| 亚洲一区二区视频| 精品成人免费观看| 91在线国产福利| 蜜桃传媒麻豆第一区在线观看| 久久影院午夜论|