|IRC Nick||Time (GMT-7)||Message|
|rusMsc||05:03||okay, im back again, any body here?
|taxilian||07:03||rusMsc I'm here now|
|rusMsc||08:03||so, i asked in the past, but, now i need more information)......
im tryin to create popup blocker like ad muncher
|rusMsc||08:03||does im right thinking that FB can't catch beforenavigate events in browsers?|
no plugin can
|taxilian||08:03||have you read http://npapi.com/extension ?|
|rusMsc||08:03||yes, and i read about npapi extension in chrome, in chrome docs, i need to create manifest, and write my extension to parameters|
|taxilian||08:03||but the extension has to do all extension-related work
the npapi plugin is just a helper
|rusMsc||08:03||so npapi is only for single html web pages?|
|taxilian||08:03||an npapi plugin is only aware of the page it is currently on|
need to reverse ad muncher i guess.
i have create extension for chrome, it's works fine, but ad muncher does not register extension in chrome (
and even it injecting dll into the browser process, how he finding function addresses %))) agh my mind :D
|taxilian||08:03||you could inject the plugin into every page with an extension, I suspect|
|rusMsc||08:03||i know what i should hook in IE, FF, but... chrome...|
|taxilian||08:03||but I don't know why you wouldn't be able to just do all of it using the extension
doesn't sound like you need a npapi plugin at all
|rusMsc||08:03||if i can register extension in chrome, yes, it is. but without it... how? :D
|taxilian||08:03||? none of this will work if you can't register the extension in Chrome
which AFAIK has to be done through the chrome store
|rusMsc||08:03||but i need not for only chrome... so, i just must write extension for each browser separately ?|
|rusMsc||08:03||yes, as i thought.
im asking, because ad mucher does not do this, he have just 2 dll, for x86, x64 and does not register extensions... seems dll injection.
bad bad bad ad mucher :D
okay, thanks alot!!! my eyes are opened now)
hm, open or opened? 10 years of english learning and so stupid mistakes :D
|taxilian||09:03||either could be correct in this case
open is present tense, indicating that they are currently open
opened is past perfective, indicating that they have opened and implying that they are currently open
|rusMsc||09:03||hm... i'm usually trying to say what i have wrote, and if sounds are like in US films, so i thinking that it is correct :-D
|taxilian||09:03||I think "open" is probably more common around here, but tha'ts one that will most likely vary depending on where you are|
|taxilian||09:03||I honestly don't think anyone will notice one way or another, thoguh|
|rusMsc||09:03||okay, so my grammar is cool :D|
|SinnerSmile||14:03||Hello guys, FireBreath is AWESOME! Thx everyone, who working on it, if there is some of them here.
But i've got a question
|SinnerSmile||14:03||I'm writing a plugin on WinAPI and i need to recieve hWnd of brwoser window, there is a function of NPAPI that can do this (with NPNVnetscapeWindow function i think) But it's npapi specific thing, what about ActiveX then, i need it to work on IE too|
|taxilian||14:03||you're using FireBreath?
hmm. yep, we don't have a way to set the Browser HWND in activex
not sure if it's possible or not
if you find a way to do it it's easy to update
|SinnerSmile||15:03||dam.... well seems no easy way, huh, will try to get, well i can try to get hWnd of browser window thrue some window handles.|
|jshanab||15:03||But if you have a window handle you can get the parent window and from there even respond to the ncPaint (NC is the non-client area)|
|taxilian||15:03||nirvdrum might have found something like that|
|nirvdrum||15:03||SinnerSmile: This project has 0 firebreath in it, but should help you out: https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp
It's reasonably well-documented.
|SinnerSmile||15:03||well im thinking about getting hWnd from focused window, cos browser will obviously focused when plugin will start
will take a look
|nirvdrum||15:03||There's a lot of ATL in there. If you have questions, I can try to help out.|
|taxilian||15:03||SinnerSmile: if you figure it out you should make a pull request for FireBreath; it just needs to call setBrowserHWND (https://github.com/firebreath/FireBreath/blob/master/src/PluginAuto/Win/PluginWindowWin.h#L59) on the PluginWindowWin object from the FBControl.h file in an appropriate place
then it'll work the same way on ie and firefox
|SinnerSmile||15:03||nirvdrum... thx, as my poor WinAPI knowlege tells me, they use this http://msdn.microsoft.com/ru-RU/library/windows/desktop/ms633500(v=vs.85).aspx function to specify hWnd, i'm thinking about this as a plan B, if there is nothing more...elegant.|
|nirvdrum||15:03||SinnerSmile: You can go that route. It just gets harder when you have multiple IE windows open.
The series of QueryInterface calls I showed will guarantee you get the HWND for the process the plugin is loaded in.
|SinnerSmile||15:03||taxilian, am i getting right that this is firebreath specific function and it return exactly that i want - hWnd of browse with my plugin nomatter IE or Mozilla (or any other NPAPI)|
|taxilian||15:03||it would, except nobody has added support on IE for it|
|SinnerSmile||15:03||And a chat question, how can i adress my message to someone in this chat? By clicking somewhere... or there is no such thing?
ok, u mean this function right now got no support for IE, but theoreticly if there is stable way to do this for IE we can add this support ja?
for the sake of next coders generations
|SinnerSmile||15:03||nirvdrum: as i can get, this part https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp#L190-194 specifies hWnd, but about that you told i can't understand how it will get the exact hWnd for the process the plugin loaded in.
oh are you talking about this? https://github.com/nirvdrum/SnapsIE/blob/master/CoSnapsie.cpp#L176-186
dam i don't know how this calls works time for some searching
|nirvdrum||15:03||SinnerSmile: That whole method is useful. There's a point where it handles the fact that IE 7+ has tabbed browsing and IE 6 does not, as well.
It starts with the client site, gets the browser, then gets the document, from there get's the HWND.
It's a convoluted chain.
|SinnerSmile||15:03||that's extremely useful, thank you nirvdrum and taxilian|
|SinnerSmile||16:03||And another question) what i need to do to use HWND FB::PluginWindowWin::getBrowserHWND()? Only #include "Win/PluginWindowWin.h" or do something else?|
|taxilian||16:03||I think that hsould do it
well, that and add code so that it works on IE
|SinnerSmile||16:03||Right now just want to test some things with NPAPI browsers, IE later
Why the code for IE not yet added in FireBreath itself if there is stable code?
|taxilian||16:03||those of us who know how haven't had any need to do it, I guess
hadn't actually realized until today that it wasn't done