小さな問題の概要

VMwareの無いネットワーク、あなたはブリッジすることはできませんか?

仮想ネットワークエディタ - >デフォルト設定の復元

そして、ネットワークプロトコルのVMware BRIDGかどうかを確認します。。 

リロードしないようにセキュリティをインストールしません。。 

-----------------------

win7のwin10しばしばUACはポップでなく、多くのプログラムが自動的に実行することができない作りますか?

+ Rに勝つ - > gpedit.msc->電卓の構成] - > [Windowsの設定] - > [セキュリティ設定] - > [ローカルポリシー - >セキュリティオプション 

ユーザーアカウント制御:管理者承認モードで実行すべての管理者。無効化

ユーザーアカウント制御:ビルトインの管理者アカウント管理者承認モードで。無効化

再起動

-----------------------------

別のコンピュータ実行中にDLLプログラムが見つかりませんか?

Depends.exeは、同じプログラムディレクトリに不足しているdllファイルを検索し、プログラムを実行するプログラムにドラッグ

---------------------------------

 

 


書式#include <stdio.hに>する#include <はWindows.h> //#含める<TlHelp32.h> //#含める<文字列> //#含める<AFX.H>
書式#include <UserEnv.h>書式#include <WTSAPI32 .H> //#含める<AFX.H>の#pragmaコメント(libに、 "UserEnv.lib")#コメントプラグマ(LIB、 "Wtsapi32.lib")
の#define SLEEP_TIME間隔// 5000
の#define FILE_PATH「C: \\のlog.txt「//ファイル情報の出力
BOOL = falseにブラン、
上記Service_Status ServiceStatusの;
SERVICE_STATUS_HANDLEのhstatus;
// int型WriteToLog(のconstのchar * STR);
無効WINAPI ServiceMain(int型のargc、char型** ARGV);
無効WINAPI CtrlHandler(要求DWORD);
静的HANDLE HPROCESS = NULL;


//ブレークSESSION 0分離は、ユーザプロセス着信プログラム経路作成
WriteToLog(CONST文字* STR)INT
{
FILE * PFILEと、
fopen_s(&PFILE、FILE_PATH、 "+");
IF(PFILE == NULL)
{
リターン-1。
}
fprintf_s(PFILE、 "%S \ n"は、STR)。
FCLOSE(PFILE)。
0を返します。
}
CONSTチャー* itoa1(INTヴァル){静的チャー結果【はsizeof(INT)<< 3 + 2]; unsigned int型tempval =ヴァル; IF(ヴァル<0)tempval = -Val; INT I =はsizeof(INT)< <3 + 1; {結果[I] = "0123456789" [tempval%10]を行う。tempval / = 10。--I;}ながら(tempval); IF(ヴァル<0)結果[i--] = ' - ';リターン&結果[I + 1];}
HANDLEのCreateUserProcess(CHAR * lpszFileName){BOOLブレット= TRUE; DWORD dwSessionID = 0; HANDLE hToken = NULL; HANDLE hDuplicatedToken = NULL; LPVOID lpEnvironment = NULL; STARTUPINFO SI = {0}; PROCESS_INFORMATIONのPI = {0}; si.cb =はsizeof(SI)。
やる{//获得当前セッションIDdwSessionID = :: WTSGetActiveConsoleSessionId();


WriteToLog( "SESSIONS");
//获得当前セッション的用户令牌場合(FALSE == :: WTSQueryUserToken(dwSessionID、&hToken)){int型I =のGetLastError();
WriteToLog( "WTSQueryUserToken"); WriteToLog(itoa1(I));ブレット= FALSE;戻りNULL;}
//复制令牌場合(FALSE == :: DuplicateTokenEx(hToken、MAXIMUM_ALLOWED、NULL、SecurityIdentification、TokenPrimary、&hDuplicatedToken)) {int型I =のGetLastError()。
WriteToLog( "DuplicateTokenEx"); WriteToLog(itoa1(I));ブレット= FALSE;戻りNULL;}
//创建用户セッション环境場合(FALSE == :: CreateEnvironmentBlock(&lpEnvironment、hDuplicatedToken、FALSE)){int型I =のGetLastError ();
WriteToLog( "CreateEnvironmentBlock"); WriteToLog(itoa1(I));
BRET = FALSE;戻りNULL;}
ユーザーセッションレプリケーションでアプリケーションを実行する//L"calc.exe"//、プロセスを作成します(FALSE == :: CreateProcessAsUser(hDuplicatedToken場合 、lpszFileName、NULL、NULL、NULL、FALSE、NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE | CREATE_UNICODE_ENVIRONMENT、lpEnvironment 、NULL、&シリコン&PI)){int型I =のGetLastError();
WriteToLog( "CreateProcessAsUser"); WriteToLog(itoa1(I));ブレット= FALSE;戻りNULL;} WriteToLog( "セッションC");
}一方(FALSE ); //近いハンドル、リソースを解放する場合(lpEnvironment){:: DestroyEnvironmentBlock( lpEnvironment);}もし(hDuplicatedToken){:: hDuplicatedToken CloseHandleを();}もし(hToken){:: CloseHandleを(hToken);}戻りPI .hProcess;}


ボイドWINAPI ServiceMain(INTのargc、char型** ARGV){WriteToLog( "SMAIN");
servicestatus.dwServiceType = SERVICE_WIN32;
servicestatus.dwCurrentState = SERVICE_START_PENDING。
リターン; }














dwCurrentState = SERVICE_STOPPED。ブレーク;




















デフォルト:
休憩;
}
SetServiceStatus(hstatus、&servicestatus);}
int型のmain(){

SERVICE_TABLE_ENTRYのentrytable [2]。
constのchar * constc = "ブート"。
char * C = nullptr;
C =はconst_cast <CHAR *>(constc)。

entrytable [0] .lpServiceName = C。
entrytable [0] .lpServiceProc =(LPSERVICE_MAIN_FUNCTION)ServiceMain。
entrytable [1] .lpServiceName = NULL;
entrytable [1] .lpServiceProc = NULL;
StartServiceCtrlDispatcher(entrytable);戻り0;
}



おすすめ

転載: www.cnblogs.com/moshuixiong/p/12174037.html