APLICATIVO VB-6 COM ARQUIVOS EMBUTIDO NO EXE
Pessoal...
Tem como colocar dentro do executavel compilado algum arquivo, tipo [Ô].dll[Ô], [Ô].ocx[Ô] ou outro qualquer ???
và uma aplicação em VB-6 que era apenas o executável, e depois verifiquei e và que ela havia colocado uma foto dentro do [Ô]C:\[Ô]...
outro detalhe é que quando esta aplicação era executada (2 cliques), ela abria uma caixa de diálogo igual ao de um instalador...
alguém já fez algo parecido no VB-6 ???
Tem como colocar dentro do executavel compilado algum arquivo, tipo [Ô].dll[Ô], [Ô].ocx[Ô] ou outro qualquer ???
và uma aplicação em VB-6 que era apenas o executável, e depois verifiquei e và que ela havia colocado uma foto dentro do [Ô]C:\[Ô]...
outro detalhe é que quando esta aplicação era executada (2 cliques), ela abria uma caixa de diálogo igual ao de um instalador...
alguém já fez algo parecido no VB-6 ???
Bem, quanto à DLL[ô]s e OCX, a coisa complica um pouco. DLL[ô]s e OCX ActiveX, dependem de registro no windows e a aplicação depende de essas DLL[ô]s e OCX estarem instaladas e registradas. Uma foto, é bem simples. Basta colocar em uma imagelist ou mesmo uma picturebox e usar o método SaveImage, mas um componente ActiveX a coisa complica bastante. Infelizmente VB6, não é muito independente não. O que vc pode fazer e talvez dê certo é:
Uma aplicação independentde de ActiveX(como em C++ por exemplo), que verifica se os componentes ActiveX da sua aplicação estão instalados corretamente e caso estejam, chama a sua aplicação(que nesse caso, pode ser até mesmo uma outra ActiveX, uma DLL).
Talvez até seja possÃvel fazer isso com VB6, mas com certeza seria algo bastante trabalhoso(pra não dizer uma gambiarra [Ô]a la McGyver[Ô])
Uma aplicação independentde de ActiveX(como em C++ por exemplo), que verifica se os componentes ActiveX da sua aplicação estão instalados corretamente e caso estejam, chama a sua aplicação(que nesse caso, pode ser até mesmo uma outra ActiveX, uma DLL).
Talvez até seja possÃvel fazer isso com VB6, mas com certeza seria algo bastante trabalhoso(pra não dizer uma gambiarra [Ô]a la McGyver[Ô])
Acho que sei o que vc quer, mas tbém acho pouco provável que alguém que conheça e que tenha bom senso o ajude de alguma forma.
Porém qual seria finalidade deste projeto?
eu já fiz, coloca no os arquivos no resource...procura aqui no site que tem como fazer isso
[txt-color=#e80000]Pessoal[/txt-color] : de antemão quero deixar bem claro que meu projeto não se trata de um Troyan... tenho em mente uma execução em runtime parecido com uma aplicação do tipo [Ô]Portable[Ô]...mas só parecido.
O que vou embutir são bibliotecas criadas por mim mesmo...e também imagens e Ãcones... estes já estão inclusos da maneira que o KERPLUNK citou...
[txt-color=#0000f0]KAIBOLL[/txt-color]: é justamente onde estou quebrando a cuca...pois coloquei as bibliotecas no Resource Editor do tipo CustonData... e estou querendo salvá-la no disco ao executar o aplicativo...
só que com a função [Ô]LoadResData()[Ô] ele retorna um Array de Bytes, e estou tentando dessa maneira para salvar:
Só que dá erro runtime [txt-color=#e80000]13-Type mismatch[/txt-color]
a aponta para a linha:
Estou tentando encontrar o problema...mas conto com a ajuda dos colegas também !
O que vou embutir são bibliotecas criadas por mim mesmo...e também imagens e Ãcones... estes já estão inclusos da maneira que o KERPLUNK citou...
[txt-color=#0000f0]KAIBOLL[/txt-color]: é justamente onde estou quebrando a cuca...pois coloquei as bibliotecas no Resource Editor do tipo CustonData... e estou querendo salvá-la no disco ao executar o aplicativo...
só que com a função [Ô]LoadResData()[Ô] ele retorna um Array de Bytes, e estou tentando dessa maneira para salvar:
Sub CV_Bytes()
Dim b() As Byte
Dim fileN As Long
Dim vLocal As String
vLocal = Environ([Ô]SYSTEMDRIVE[Ô]) & [Ô]\Arquivo.dll[Ô]
Open vLocal For Binary Access Write As LoadResData(150, [Ô]DLL[Ô])
Put LoadResData(150, [Ô]DLL[Ô]), 1, b()
Close fileN
End Sub
Só que dá erro runtime [txt-color=#e80000]13-Type mismatch[/txt-color]
a aponta para a linha:
Open vLocal For Binary Access Write As LoadResData(150, [Ô]DLL[Ô])
Estou tentando encontrar o problema...mas conto com a ajuda dos colegas também !
Cara não tenho certeza, mas substitua LoadresData do open e do put e use a variavel fileN.
Acho que o array b() tem que receber o retorno de LoadResData
Open vLocal For Binary Access Write As fileN
Put fileN, 1, b()
Close fileN
Acho que o array b() tem que receber o retorno de LoadResData
Obrigado [txt-color=#0000f0]LLAIA[/txt-color]
Corrigi meu script baseando-me também nesse link:
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=353147&varWorld=
Ficou assim:
Está funcionando !
Obrigado a todos !
Corrigi meu script baseando-me também nesse link:
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=353147&varWorld=
Ficou assim:
Sub CVBytes()
Dim MyArray() As Byte
Dim fileN As Long
Dim vLocal As String
vLocal = Environ([Ô]SYSTEMDRIVE[Ô]) & [Ô]\Arquivo.dll[Ô]
MyArray = LoadResData(150, [Ô]DLL[Ô])
fileN = FreeFile
Open vLocal For Binary Access Write As #fileN
Put fileN, , MyArray
Close fileN
End Sub
Está funcionando !
Obrigado a todos !
Tópico encerrado , respostas não são mais permitidas