" CreateProcess " é uma função disponível em uma das interfaces do Microsoft Windows do núcleo de programação de aplicativos (APIs) disponíveis com o sistema operacional Windows. " CreateProcess " abre um programa como um processo do Windows e dentro de seu próprio segmento . APIs do Windows dar mais flexibilidade aos programadores VB . Por exemplo , há várias funções disponíveis na API do Windows que permitem que programadores para executar ações específicas com uma função chamada para a API , em vez de tentar escrever o seu próprio código para fazer a mesma coisa. Instruções
1
Inicie um novo projeto Visual Basic Standard EXE. Adicionar tipos definidos pelo usuário com o nome " PROCESS_INFORMATION " e " STARTUPINFO " no código de " Form1 " que é criado automaticamente com o novo projeto. Estes são estruturas usadas em Visual Basic para agrupar dados e são necessários tipos de parâmetros da função " CreateProcess " .
2
Criar duas constantes que também são parâmetros da função " CreateProcess " .
Const SYNCHRONIZE = 1048576
Const NORMAL_PRIORITY_CLASS = & H20 &
Declare a função " CreateProcess " como kernel32 " Private Declare Function CreateProcess Lib" " Alias " CreateProcessA " . "
3
Declare funções adicionais para abrir o processo ( " Private Declare Function OpenProcess Lib" kernel32.dll ""), finalizar o processo ( " Private Declare Function TerminateProcess Lib" kernel32 "") e para fechar o identificador ( " Private Declare Function CloseHandle Lib" kernel32 "").
4
Adicionar um botão de comando " Form1 " com o nome " cmdOpenNotepad . " No código para " cmdOpenNotepad " , definir uma variável do tipo . PROCESS_INFORMATION , STARTUPINFO , uma string para representar nulo e dois longs para valores de retorno
Passe o notepad.exe para a função " CreateProcess " da seguinte forma :
CreateProcess ( sNull , " notepad.exe " , ByVal 0 & , ByVal 0 & , 1 & , NORMAL_PRIORITY_CLASS , ByVal 0 & , sNull , sInfo , pInfo )
5
Finaliza o processo com " TerminateProcess ( pInfo.hProcess , 0 & ) " .
Feche o identificador para o segmento com " CloseHandle ( pInfo.hThread ) " e para o processo com " CloseHandle ( pInfo.hProcess ) . "