Api Hook
23/02/2006
0
conforme o exemplo do livro... Ai mandei compilar e me retorna o erro
[b:71aa00a954]Undeclared Indentifier : TStartupInfoA[/b:71aa00a954]
procurei no windows.pas e nada definido para esta ´Classe´ .. Se pudemos dizer assim
Alguem sabe aonde esta o erro ????
Marco Salles
Posts
24/02/2006
Michael
[]s
24/02/2006
Marco Salles
o BmsCriaSessaoIPC estou criando no FormCrete do form conforme sugerido
Mas o BmsComunicaIPC este eu nun to vendo na revista :cry: :cry:
24/02/2006
Nildo
o BmsCriaSessaoIPC estou criando no FormCrete do form conforme sugerido
Mas o BmsComunicaIPC este eu nun to vendo na revista :cry: :cry:[/quote:4ef8a0b8f1]
Mas como você quer enviar uma mensagem pro seu executavel sem dar o comando de enviar mensagem (no caso, BmsComunicaIPC)?
Ps.: Na edição 69, página 47, nosso professor Michael nos mostra o comando BmsComunicaIPC.
24/02/2006
Michael
[quote:0034a9ca85=´Marcos Salles´]Mas o BmsComunicaIPC este eu nun to vendo na revista[/quote:0034a9ca85]
Esse função é chamada de dentro da DLL, mais especificamente pela rotina [b:0034a9ca85]ExecutarIPC[/b:0034a9ca85]:
function ExecutarIPC(const Mensagem : TMensagem) : BOOL; var Resposta: BOOL; begin BmsComunicaIpc(ID_SECAO_IPC, @Mensagem, SizeOf(TMensagem), @Resposta, SizeOf(BOOL)); Result := Resposta; end;
[quote:0034a9ca85=´Nildo, meu amigão´]Ps.: Na edição 69, página 47, nosso professor Michael nos mostra o comando BmsComunicaIPC.[/quote:0034a9ca85]
Muito obrigado [b:0034a9ca85]Bruno[/b:0034a9ca85]! Estou sem a revista aqui, mas lembrava de onde sua rotina era chamada.
[]´s
24/02/2006
Marco Salles
estou usando o computador de um amigo que tem o delphi 7.0
Sim , ja achei..
[b:8b2fc498fd]No delphi 7.0 elas não compilam ....[/b:8b2fc498fd]
24/02/2006
Michael
Sim, constatei isso aqui. Minha dúvida é em relação ao Delphi 2005. Aqui na empresa não tenho uma cópia dele para testar. Verei em casa à noite.
[]´s
24/02/2006
Marco Salles
[color=darkred:91a4e0ddb5]Acho que essa expressão , se aplica de corpo e alma no nosso na Informatica[/color:91a4e0ddb5]
:!: :!: :!: :!:
Qauntas vezes ja aconteceu com voce , comigo e com todos algo do tipo :
[b:91a4e0ddb5]Isto eu ja tinha tentado , mas estava dando erro , agora esta funcionando[/b:91a4e0ddb5] :evil: :evil: :evil: :evil:
:idea: :idea:
[b:91a4e0ddb5]Pois bem , aqui nesse tópico , vasculhei o seu código e o comparei com o seu... [/b:91a4e0ddb5]
De fato quando voce disse :
[b:91a4e0ddb5]Não sei porque , mas agora compila sem usar a palavra Mensagem.. Então segue certo o conteudo da revista[/b:91a4e0ddb5]
:P :P :P :P :P :P :P
[b:91a4e0ddb5][color=darkblue:91a4e0ddb5]Finalmente cheguei a Solução do Problema , comparando o seu código (Passado pelo Link) Com o meu código[/color:91a4e0ddb5][/b:91a4e0ddb5]
O erro foi em :
[b:91a4e0ddb5]ERRADO[/b:91a4e0ddb5]
bmsRemoteLoadLibrary(bmsGetProcessId(´explorer.exe´), ExtractFilePath(ParamStr(0)+´CPHook.dll´));
[b:91a4e0ddb5]CERTO[/b:91a4e0ddb5]
BmsRemoteLoadLibrary(BmsGetProcessID(´explorer.exe´), ExtractFilePath(ParamStr(0)) + ´CPHook.dll´);
[b:91a4e0ddb5]como voce mesmo disse na edição anterior sobre a importancia desse caminho...[/b:91a4e0ddb5]
:cry: :cry: :cry:
De fato , ja tinha verificado sobre esse erro , criando um botão e chamando um showmessage com a função ExtractFilePatc.. So que tinha dado certo então deixei esta linha de raciocineo e partir para outras... :evil:
O fato é que o Duplo parenteses na minha instrução , foi um descuido mortal e fez uma atomicidade de um coisa tão pequena
[b:91a4e0ddb5]Peço muito obrigado pela atenção , da sua parte e do nildo a do martins , e vou continuar a amolar voces sobre esse tema, que como devem ter percebido sou extremamente leigo no assunto[/b:91a4e0ddb5]
Para finalizar quero deixar registrado que :
citação de marco salles
citação de michel
Foge dos meus principios , a qualidade de um produto deve ser sempre de quem o faz.. Se eles acham que o tamanho esta bom e é o suficiente , então que sigam nesse caminho.. O futuro é o juiz em todas as situaçoes
Abração , to esperando a edição 70 ....
24/02/2006
Martins
Sim, constatei isso aqui. Minha dúvida é em relação ao Delphi 2005. Aqui na empresa não tenho uma cópia dele para testar. Verei em casa à noite.
[]´s[/quote:df986a88a5]
vou ver aqui, quem dos meus contatos tá rodando o D2005, e pedir para testarem.
24/02/2006
Michael
Poste seu código aqui para vermos pq funcionou agora e não antes.
[quote:e81831b81e=´Marcos Salles´]Peço muito obrigado pela atenção , da sua parte e do nildo a do martins , e vou continuar a amolar voces sobre esse tema, que como devem ter percebido sou extremamente leigo no assunto[/quote:e81831b81e]
Sem problemas. Amole o quanto quiser... ;-)
[quote:e81831b81e=´Marco Salles´]Foge dos meus principios , a qualidade de um produto deve ser sempre de quem o faz.. Se eles acham que o tamanho esta bom e é o suficiente , então que sigam nesse caminho.. O futuro é o juiz em todas as situaçoes[/quote:e81831b81e]
Qualquer revista depende do feedback dos seus leitores para evoluir. A ClubeDelphi não foge a esta regra.
Sempre é bom ouvir as sugestões e críticas dos leitores. ;-)
[quote:e81831b81e=´Marcos Salles´]Abração , to esperando a edição 70....[/quote:e81831b81e]
A edição 70 já está nas bancas há quase um mês. Aliás a 71 está estourando aí.
[]´s
P.S: Diga 10 vezes em voz alta: [b:e81831b81e]Michael[/b:e81831b81e], não Michel. [b:e81831b81e]Michael[/b:e81831b81e], não Michel. Diga tbm outras 10 vezes ´[b:e81831b81e]Maicou[/b:e81831b81e]´, ´[b:e81831b81e]Maicou[/b:e81831b81e]´, ´[b:e81831b81e]Maicou[/b:e81831b81e]´... ;-)
24/02/2006
Michael
Peça para abrirem a unit [b:a8589c140e]Windows[/b:a8589c140e], e pesquisar por [b:a8589c140e]TStartUpInfoA [/b:a8589c140e]e [b:a8589c140e]TStartUpInfoW[/b:a8589c140e]. Se não acharem nada, diga para tentarem então [b:a8589c140e]TStartUpInfo [/b:a8589c140e]apenas.
[]´s
24/02/2006
Marco Salles
a primeira vez que tentei compilar , não estva dando certo.. Eu não tenho mais o código antigo ja que agora esta funcionando.. Verifiquei pelo seu código que não tinha o Message.. Pra mim tinha que ser assim:
[b:e9a29f019d]MemoProcesso.tetx:=ExtractFileName(Mensagem.Executor);[/b:e9a29f019d]
e não como esta escrito
[b:e9a29f019d]MemoProcesso.tetx:=ExtractFileName(Executor);[/b:e9a29f019d]
Mas esta compilando e funcionando da segunda maneira , o que não estava acontecendo antes.. Vai entender..
Mas existem muitas ...Nao com relação ao conteudo.. Mas sim com relaçao ao acabamento .. Existem muitas comparaçoes com relaçao a qualidade da outra Revista do mesmo editor.... Em ves de conta tem alguem aqui no site botando a boca no trombone
Mas eu sou assinante.. diga-se passagem duas coisa:
1)a minha edição vem pelo correio
2)assinei por causa especificamente desse artigo.. e com estava esgotada a edição 69 eles conseguiram arruma-la para mim
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
hi , faltou uma : Michael ... Pronto ,agora e so copiar daqui e colar nos proximos post...
24/02/2006
Michael
[b:42caf57633]MemoProcesso.tetx:=ExtractFileName(Mensagem.Executor);[/b:42caf57633]
e não como esta escrito
[b:42caf57633]MemoProcesso.tetx:=ExtractFileName(Executor);[/b:42caf57633]
Mas esta compilando e funcionando da segunda maneira , o que não estava acontecendo antes.. Vai entender..[/quote:42caf57633]
Não existe um [b:42caf57633]with Mensagem[/b:42caf57633] algumas linhas antes de [b:42caf57633]MemoProcesso.Text := ExtractFileName(Executor)[/b:42caf57633];?
[quote:42caf57633=´Marcos Salles´]Mas existem muitas ...Nao com relação ao conteudo.. Mas sim com relaçao ao acabamento .. Existem muitas comparaçoes com relaçao a qualidade da outra Revista do mesmo editor.... Em ves de conta tem alguem aqui no site botando a boca no trombone[/quote:42caf57633]
Está questão não é tão simples como muitos pensam. Infelizmente não basta querer que a ClubeDelphi seja colorida, etc. Existem vários fatores que influenciam isso. Como este segmento está fora do meu escopo na revista, não posso comentar melhor.
[quote:42caf57633=´Marcos Salles´]Mas eu sou assinante.. diga-se passagem duas coisa:
1)a minha edição vem pelo correio[/quote:42caf57633]
Sua edição 70 ainda não chegou? Se não, entre em contado com o departamento de atendimento da DevMedia.
[quote:42caf57633=´Marcos Salles´]
2)assinei por causa especificamente desse artigo..[/quote:42caf57633]
Legal! :-D
[quote:42caf57633=´Marcos Salles´]Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
Michael ,
hi , faltou uma : Michael ... Pronto ,agora e so copiar daqui e colar nos proximos post...[/quote:42caf57633]
:lol:
[]´s
24/02/2006
Marco Salles
acho com 99,999999¬ de certeza , que não compilou porque omite o With
Voce fez assim
With mensagem do
begin
end;
e eu não o fiz ... Por isso que tive que declarar message em todas as demais linhas.. etaaaaaaaaaaaaaaaa
24/02/2006
Marco Salles
Por exemplo , suponha que meu fio (Conforme o nildo introduziu assim o conceito de ApiHook em um artigo) , fica-se de ollho no dbd32.exe e
rundll32.exe por exemplo..
[b:f73a93a8f4]mudaria muita coisa [/b:f73a93a8f4] :?: :?: :?:
Clique aqui para fazer login e interagir na Comunidade :)