Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 9441|Répondre: 1

[VB] Pipeline anonyme implémente l’écho CMD

[Copié le lien]
Publié sur 06/12/2014 00:05:15 | | |
J’en ai déjà écrit un auparavantL’écho CMD est implémenté à l’aide de pipelines anonymesMaintenant, il semble que le code à l’époque était vraiment faible, et je l’ai réécrit avec colère.


[mw_shl_code=c,true]void ExecuteCommand(WCHAR * pszCommand, WCHAR *pszRésultat, DWORD dwCount)
{
BOOL bRet = FAUX ;
USES_CONVERSION ;

WCHAR szCmdPath[MAX_PATH] = {0} ;
GetSystemDirectory(szCmdPath, sizeof(szCmdPath)) ;
PathAppend(szCmdPath, L"cmd.exe ») ;

SECURITY_ATTRIBUTES SecurityAttributes ;
SecurityAttributes.nLength = sizeof(SECURITY_ATTRIBUTES) ;
SecurityAttributes.lpSecurityDescrip{filter}tor = NULL ;
SecurityAttributes.bInheritHandle = TRUE ;

HANDLE hRead = NULL ;
HANDLE hWrite = NULL ;

if(CreatePipe(&hRead, &hWrite, &SecurityAttributes, 0))
{
STARTUPINFO StartupInfo = {0} ;
StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW ;
StartupInfo.hStdOutput = hWrite ;
StartupInfo.hStdError = hWrite ;
StartupInfo.wShowWindow = SW_HIDE ;

PROCESS_INFORMATION ProcessInformation = {0} ;

WCHAR szCurrentPath[MAX_PATH] = {0} ;
GetCurrentDirectory(sizeof(szCurrentPath), szCurrentPath) ;

if(CreateProcess(szCmdPath, pszCommand, NULL, NULL, TRUE, 0, NULL, szCurrentPath, &StartupInfo, &ProcessInformation))
{
CloseHandle (hWrite) ;

char szBuffer[4096] = {0} ;
DWORD dwRead = 0 ;
if(pszRésultat)
{
pszRésultat[0] = 0 ;
while(VRAI)
{
memset(szBuffer, 0, sizeof(szBuffer)) ;
bRet = ReadFile(hRead, szBuffer, sizeof(szBuffer), & dwRead, NULL) ;
if((FAUX == bRet) || (dwRead = 0))
pause ;

wcscat_s(pszRésultat, dwCompte, A2W(szBuffer)) ;
}
}
}

CloseHandle(hRead) ;
}
}[/mw_shl_code]




Précédent:Détectez la carte bancaire via Windows Phone
Prochain:Extraire rapidement l’image de l’émoticon QQ
Publié sur 07/12/2014 17:24:30 |
Lire et poster en retour est une vertu
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com