estimado Posted December 15, 2015 at 11:12 AM Report Share #590681 Posted December 15, 2015 at 11:12 AM Boas Estou com um pequeno problema que não estou a conseguir resolver, estive a pesquisar sobre o assunto mas não encontro nada que me consiga ajudar! Bem, queria executar um programa mas que por exemplo estive-se dentro da "aplicação" Ou seja os codigos existentes são assim System.Diagnostics.Process.Start("c:\Folder\arquivo.exe"); Sendo que este código vai procurar o arquivo fora da aplicação, e eu queria por exemplo que ele executa-se mas dentro, ou seja ao clicar no botão correspondente ele iria abrir o executavel Obrigado Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
He B TeMy Posted December 15, 2015 at 12:35 PM Report Share #590683 Posted December 15, 2015 at 12:35 PM Tens o arquivo guardado na aplicação (resources ou assim) e queres executá-lo? Podes te explicar melhor? Link to comment Share on other sites More sharing options...
estimado Posted December 15, 2015 at 01:11 PM Author Report Share #590684 Posted December 15, 2015 at 01:11 PM queria coloca-lo mesmo nos resources que parece ser a melhor maneira, mas nao estou na conseguir Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
He B TeMy Posted December 15, 2015 at 01:39 PM Report Share #590687 Posted December 15, 2015 at 01:39 PM Tens que ler os bytes do executável para os resources, e depois alterar para embedded https://msdn.microsoft.com/library/e2c9s1d7%28v=vs.100%29.aspx Depois para executares tens que criar um ficheiro com os bytes que guardas-te e executares, assim: string path = Path.Combine(Path.GetTempPath(), "tempfile.exe"); File.WriteAllBytes(path, myProjectName.Properties.Resources.myExecutable); Process.Start(path); Onde 'Properties.Resources.myExecutable' é o caminho dos bytes que guardas-te. Link to comment Share on other sites More sharing options...
estimado Posted December 15, 2015 at 01:52 PM Author Report Share #590690 Posted December 15, 2015 at 01:52 PM (edited) Boas Fiz de outra forma, mas que estou agora um uma duvida Só que desta forma ele cria uma cópia para um ambiente de trabalho, o que eu não queria Edited December 15, 2015 at 03:17 PM by estimado Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
He B TeMy Posted December 15, 2015 at 03:04 PM Report Share #590700 Posted December 15, 2015 at 03:04 PM Essa forma é igual á minha, claro que ele cria o ficheiro antes de o executar, é isso que estás a dizer para ele fazer, se não queres criar um ficheiro tu vais ter de criar uma RunPE, eu pesquisava mais sobre isso em vez de apenas copiares código. Isto deve-te ajudar http://stackoverflow.com/a/9233591/2990244 mas visto precisares de ajuda com o código acima eu não te aconselhava copiares apenas, vais ter mais problemas do que consegues resolver, e não dá para fazer o que pretendes fazer ("executar dentro da tua aplicação") , pelo menos facilmente não. Um aviso, eu não testei o código acima, mas se funcionar, podes ter a certeza que será detectado por AV's. Link to comment Share on other sites More sharing options...
estimado Posted December 15, 2015 at 03:17 PM Author Report Share #590701 Posted December 15, 2015 at 03:17 PM seria de muito incomodo seos AV´s detectassem mas vou verificar Vou ler um pouco sobre o assunto, muito obrigado 🙂 Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
He B TeMy Posted December 15, 2015 at 05:45 PM Report Share #590710 Posted December 15, 2015 at 05:45 PM seria de muito incomodo seos AV´s detectassem mas vou verificar Vou ler um pouco sobre o assunto, muito obrigado 🙂 Pois, mas a única razão de fazeres isso é para malware, não há outra razão se teres problema de escrever o ficheiro para o disco e deixares o sistema executálo por ti. Desculpa mas é verdade, tanto é que se perguntares isso nos fórums da msdn, o tópico será fechado. Link to comment Share on other sites More sharing options...
estimado Posted December 15, 2015 at 11:24 PM Author Report Share #590726 Posted December 15, 2015 at 11:24 PM mas neste caso acredite que não seja para esse fim Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
He B TeMy Posted December 16, 2015 at 12:55 AM Report Share #590732 Posted December 16, 2015 at 12:55 AM Eu não me importo, código é código, se eu puder ajudar ajudo, estou a falar porque a única razão que faz sentido é mesmo malware, daí provavelmente obteres detecções de AV's, o que, se a aplicação for distribuída, poderás ter problemas no futuro (problemas em relação á aplicação em si) Link to comment Share on other sites More sharing options...
mIn3ir0 Posted December 16, 2015 at 10:28 AM Report Share #590736 Posted December 16, 2015 at 10:28 AM (edited) Bom dia, Podes optar por colocar o executável que pretendes correr junto do executável da tua aplicação (dentro da pasta Debug) e depois utilizas o seguinte código: System.Diagnostics.Process.Start(Application.StartupPath + @"\arquivo.exe"); É uma das formas possíveis, eu nas minhas aplicações tudo o que é documentos/executáveis a executar é feito desta forma. Desta forma, garantes que sabes sempre o diretório do ficheiro que pretendes executar. Eventualmente a fim de evitar a exceção "File Not Found" poderás fazer uma verificação se o ficheiro existe com o comando "File.Exits()". Edited December 16, 2015 at 10:31 AM by mIn3ir0 Link to comment Share on other sites More sharing options...
estimado Posted December 16, 2015 at 01:21 PM Author Report Share #590758 Posted December 16, 2015 at 01:21 PM Bom dia, Podes optar por colocar o executável que pretendes correr junto do executável da tua aplicação (dentro da pasta Debug) e depois utilizas o seguinte código: System.Diagnostics.Process.Start(Application.StartupPath + @"\arquivo.exe"); É uma das formas possíveis, eu nas minhas aplicações tudo o que é documentos/executáveis a executar é feito desta forma. Desta forma, garantes que sabes sempre o diretório do ficheiro que pretendes executar. Eventualmente a fim de evitar a exceção "File Not Found" poderás fazer uma verificação se o ficheiro existe com o comando "File.Exits()". dessa forma é preciso o .exe sempre na pasta, mesmo depois de estar compilado Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
mIn3ir0 Posted December 16, 2015 at 02:35 PM Report Share #590761 Posted December 16, 2015 at 02:35 PM Sim, não vejo qual é o problema... Link to comment Share on other sites More sharing options...
estimado Posted December 16, 2015 at 03:50 PM Author Report Share #590770 Posted December 16, 2015 at 03:50 PM para o que necessito torna-se um problema, pois não queria que o .exe fica-se visivel dessa forma Visual Studio 2010 C# Link to comment Share on other sites More sharing options...
mIn3ir0 Posted December 21, 2015 at 09:19 AM Report Share #590903 Posted December 21, 2015 at 09:19 AM Boas, podes optar por colocar o executável como ficheiro oculto. Podes também, se tiveres acesso a programação do executável, colocar uma condição no inicio do código se determinado processo estiver a ser executado (a tua aplicação) executa, caso contrário sai. Há imensas formas de contornar um problema, não fiques bloqueado apenas numa só maneira... programação é isto mesmo! Link to comment Share on other sites More sharing options...
Mav3r1cK Posted December 23, 2015 at 10:41 PM Report Share #591024 Posted December 23, 2015 at 10:41 PM No Visual Studio,tem como você simplesmente pegar o executável dele,através da pasta do Projeto,caso quiser,eu posso colocar um exemplo,para você encontrar o executável do seu projeto. "O que nós sabemos é uma gota; o que ignoramos é um oceano" "Verba volant,scripta manent" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now