Programmeerimine: aktiivse veebilehe URL’i küsimine DDE abil

Üldiselt kõik teavad, et DDE’d enam eriti keegi ei kasuta ning DDE oli ka parajalt vigane (ntx DDE serverite numeratsiooni API ise hangus jne). Kuid DDE abil sai isegi Exceliga suhelda, kas nüüd ka enam saab, pole proovinud.

Teada tõde on see, et kui tülikas on erinevatest sirvikutest (Opera/IE/Firefox) urli kätte saada, kord Findwindow trikid, mida kõik veel. IE’ga lihtne, läbi ShellWindowsi….
Mõtlesin, et prooviksin universaalse inimese moodi ja uurin, kas DDE veel elus.

Neid DDE käske toetas kunagi Netscape:

http://graphcomp.com/info/specs/nets/ddeapi.html

Vähemalt üks asjalik DDE request siiani “elus “st vaatasin ntx Firefoxi xul.dll sisse ja nägin seal:

WW_GetWindowInfo
WWW_UnRegisterViewer
WWW_RegisterViewer
WWW_Version
WWW_CancelProgress
WWW_Activate
WWW_OpenURL

Meid huvitab WW_GetWindowInfo

WWW_GetWindowInfo

* Netscape is: Server.
* Transaction Type: XTYP_REQUEST.
* Item (Arguments): dwWindowID
o dwWindowID is the Netscape window to obtain current information on. This value can be 0xFFFFFFFF to specify the last active Netscape window.
* Data (Returns): qcsURL,qcsTitle
o qcsURL is the current URL loaded in the window.
o qcsTitle is the current title of the Netscape window.
* Description: This topic will fail if Netscape can not provide both return values (a blank page is loaded, so there is no URL), or if an invalid dwWindowID is specified.

Siis jõudsin testini: teoorias peaks saama loendada kõiki aknaid järjekorras 1,2,3,4,5… nii need “window” ID’d kunagi jooksid. Testprogramm tõestas vaid, et see kõikide avatud lehtede numeratsioon töötab vaid Operal.

Samas 0xffffffff trikk töötas nii IE’ga, kui Firefoxiga. Ehk kõigist sirvikutest sai teada “aktiivse lehekülje (tabi)”.

Lisan siia lähtekoodi, koos binaryga (download), koodi suhtes pole mõtet kriitikanooli visata, see on mul vist aastast 98 ?

Advertisements

Lisa kommentaar

Täida nõutavad väljad või kliki ikoonile, et sisse logida:

WordPress.com Logo

Sa kommenteerid kasutades oma WordPress.com kontot. Logi välja / Muuda )

Twitter picture

Sa kommenteerid kasutades oma Twitter kontot. Logi välja / Muuda )

Facebook photo

Sa kommenteerid kasutades oma Facebook kontot. Logi välja / Muuda )

Google+ photo

Sa kommenteerid kasutades oma Google+ kontot. Logi välja / Muuda )

Connecting to %s


%d bloggers like this: