Juu, sain toimimaan sen hommelin mitä kyselin silloin aikaisemmin. Nyt olisi tarkoitus päästä manipuloimaan IE:tä vielä yhdestä paikasta, otsikko palkista.
Siis kun tällä tavalla sen ohjelman pystyi sulkemaan:
PostMessage app_hwnd, WM_CLOSE, 0, vbNullString
Niin miten pystyisin syöttämään sille tuota käyttäen jonkin osoitteen mihin se sitten navigoisi?
Olen yrittänyt laittaa tuohon tilalle kaikenmaailman &H11,&H12 ja niin edelleen.Tuloksena ohjelmia on sammunut viirusten torjunnasta aina käyttö järjestelmään asti.
Saimpa kerran poistettua käynnistä valikonkin :)
Myös jokin lista jossa olisi mitä vaikka &H11 ja jne. tekee olisi hyödyllinen.
Public Const WM_ACTIVATE As Long = &H6& Public Const WM_ACTIVATEAPP As Long = &H1C& Public Const WM_USER As Long = &H400& Public Const WM_ADSPROP_NOTIFY_APPLY As Long = (WM_USER + 1104&) Public Const WM_ADSPROP_NOTIFY_CHANGE As Long = (WM_USER + 1103&) Public Const WM_ADSPROP_NOTIFY_ERROR As Long = (WM_USER + 1110&) Public Const WM_ADSPROP_NOTIFY_EXIT As Long = (WM_USER + 1107&) Public Const WM_ADSPROP_NOTIFY_FOREGROUND As Long = (WM_USER + 1106&) Public Const WM_ADSPROP_NOTIFY_PAGEHWND As Long = (WM_USER + 1102&) Public Const WM_ADSPROP_NOTIFY_PAGEINIT As Long = (WM_USER + 1101&) Public Const WM_ADSPROP_NOTIFY_SETFOCUS As Long = (WM_USER + 1105&) Public Const WM_ADSPROP_NOTIFY_SHOW_ERROR_DIALOG As Long = (WM_USER + 1111&) Public Const WM_AFXFIRST As Long = &H360& Public Const WM_AFXLAST As Long = &H37F& Public Const WM_APP As Long = &H8000& Public Const WM_APPCOMMAND As Long = &H319& Public Const WM_ASKCBFORMATNAME As Long = &H30C& Public Const WM_CANCELJOURNAL As Long = &H4B& Public Const WM_CANCELMODE As Long = &H1F& Public Const WM_CAPTURECHANGED As Long = &H215& Public Const WM_CHANGECBCHAIN As Long = &H30D& Public Const WM_CHANGEUISTATE As Long = &H127& Public Const WM_CHAR As Long = &H102& Public Const WM_CHARTOITEM As Long = &H2F& Public Const WM_CHILDACTIVATE As Long = &H22& Public Const WM_CHOOSEFONT_GETLOGFONT As Long = (WM_USER + 1&) Public Const WM_CHOOSEFONT_SETFLAGS As Long = (WM_USER + 102&) Public Const WM_CHOOSEFONT_SETLOGFONT As Long = (WM_USER + 101&) Public Const WM_CLEAR As Long = &H303& Public Const WM_CLOSE As Long = &H10& Public Const WM_COMMAND As Long = &H111& Public Const WM_COMPACTING As Long = &H41& Public Const WM_COMPAREITEM As Long = &H39& Public Const WM_CONTEXTMENU As Long = &H7B& Public Const WM_CONVERTREQUEST As Long = &H10A& Public Const WM_CONVERTREQUESTEX As Long = &H108& Public Const WM_CONVERTRESULT As Long = &H10B& Public Const WM_COPY As Long = &H301& Public Const WM_COPYDATA As Long = &H4A& Public Const WM_CPL_LAUNCH As Long = (WM_USER + 1000&) Public Const WM_CPL_LAUNCHED As Long = (WM_USER + 1001&) Public Const WM_CREATE As Long = &H1& Public Const WM_CTLCOLOR As Long = &H19& Public Const WM_CTLCOLORBTN As Long = &H135& Public Const WM_CTLCOLORDLG As Long = &H136& Public Const WM_CTLCOLOREDIT As Long = &H133& Public Const WM_CTLCOLORLISTBOX As Long = &H134& Public Const WM_CTLCOLORMSGBOX As Long = &H132& Public Const WM_CTLCOLORSCROLLBAR As Long = &H137& Public Const WM_CTLCOLORSTATIC As Long = &H138& Public Const WM_CUT As Long = &H300& Public Const WM_DDE_FIRST As Long = &H3E0& Public Const WM_DDE_ACK As Long = (WM_DDE_FIRST + 4&) Public Const WM_DDE_ADVISE As Long = (WM_DDE_FIRST + 2&) Public Const WM_DDE_DATA As Long = (WM_DDE_FIRST + 5&) Public Const WM_DDE_EXECUTE As Long = (WM_DDE_FIRST + 8&) Public Const WM_DDE_INITIATE As Long = (WM_DDE_FIRST) Public Const WM_DDE_LAST As Long = (WM_DDE_FIRST + 8&) Public Const WM_DDE_POKE As Long = (WM_DDE_FIRST + 7&) Public Const WM_DDE_REQUEST As Long = (WM_DDE_FIRST + 6&) Public Const WM_DDE_TERMINATE As Long = (WM_DDE_FIRST + 1&) Public Const WM_DDE_UNADVISE As Long = (WM_DDE_FIRST + 3&) Public Const WM_DEADCHAR As Long = &H103& Public Const WM_DELETEITEM As Long = &H2D& Public Const WM_DESTROY As Long = &H2& Public Const WM_DESTROYCLIPBOARD As Long = &H307& Public Const WM_DEVICECHANGE As Long = &H219& Public Const WM_DEVMODECHANGE As Long = &H1B& Public Const WM_DISPLAYCHANGE As Long = &H7E& Public Const WM_DRAWCLIPBOARD As Long = &H308& Public Const WM_DRAWITEM As Long = &H2B& Public Const WM_DROPFILES As Long = &H233& Public Const WM_ENABLE As Long = &HA& Public Const WM_ENDSESSION As Long = &H16& Public Const WM_ENTERIDLE As Long = &H121& Public Const WM_ENTERMENULOOP As Long = &H211& Public Const WM_ENTERSIZEMOVE As Long = &H231& Public Const WM_ERASEBKGND As Long = &H14& Public Const WM_EXITMENULOOP As Long = &H212& Public Const WM_EXITSIZEMOVE As Long = &H232& Public Const WM_FONTCHANGE As Long = &H1D& Public Const WM_FORWARDMSG As Long = &H37F& Public Const WM_GETDLGCODE As Long = &H87& Public Const WM_GETFONT As Long = &H31& Public Const WM_GETHOTKEY As Long = &H33& Public Const WM_GETICON As Long = &H7F& Public Const WM_GETMINMAXINFO As Long = &H24& Public Const WM_GETOBJECT As Long = &H3D& Public Const WM_GETTEXT As Long = &HD& Public Const WM_GETTEXTLENGTH As Long = &HE& Public Const WM_HANDHELDFIRST As Long = &H358& Public Const WM_HANDHELDLAST As Long = &H35F& Public Const WM_HELP As Long = &H53& Public Const WM_HOTKEY As Long = &H312& Public Const WM_HSCROLL As Long = &H114& Public Const WM_HSCROLLCLIPBOARD As Long = &H30E& Public Const WM_ICONERASEBKGND As Long = &H27& Public Const WM_IME_CHAR As Long = &H286& Public Const WM_IME_COMPOSITION As Long = &H10F& Public Const WM_IME_COMPOSITIONFULL As Long = &H284& Public Const WM_IME_CONTROL As Long = &H283& Public Const WM_IME_ENDCOMPOSITION As Long = &H10E& Public Const WM_IME_KEYDOWN As Long = &H290& Public Const WM_IME_KEYLAST As Long = &H10F& Public Const WM_IME_KEYUP As Long = &H291& Public Const WM_IME_NOTIFY As Long = &H282& Public Const WM_IME_REPORT As Long = &H280& Public Const WM_IME_REQUEST As Long = &H288& Public Const WM_IME_SELECT As Long = &H285& Public Const WM_IME_SETCONTEXT As Long = &H281& Public Const WM_IME_STARTCOMPOSITION As Long = &H10D& Public Const WM_IMEKEYDOWN As Long = &H290& Public Const WM_IMEKEYUP As Long = &H291& Public Const WM_INITDIALOG As Long = &H110& Public Const WM_INITMENU As Long = &H116& Public Const WM_INITMENUPOPUP As Long = &H117& Public Const WM_INPUTLANGCHANGE As Long = &H51& Public Const WM_INPUTLANGCHANGEREQUEST As Long = &H50& Public Const WM_INTERIM As Long = &H10C& Public Const WM_KEYDOWN As Long = &H100& Public Const WM_KEYFIRST As Long = &H100& Public Const WM_KEYLAST As Long = &H108& Public Const WM_KEYUP As Long = &H101& Public Const WM_KILLFOCUS As Long = &H8& Public Const WM_LBUTTONDBLCLK As Long = &H203& Public Const WM_LBUTTONDOWN As Long = &H201& Public Const WM_LBUTTONUP As Long = &H202& Public Const WM_MBUTTONDBLCLK As Long = &H209& Public Const WM_MBUTTONDOWN As Long = &H207& Public Const WM_MBUTTONUP As Long = &H208& Public Const WM_MDIACTIVATE As Long = &H222& Public Const WM_MDICASCADE As Long = &H227& Public Const WM_MDICREATE As Long = &H220& Public Const WM_MDIDESTROY As Long = &H221& Public Const WM_MDIGETACTIVE As Long = &H229& Public Const WM_MDIICONARRANGE As Long = &H228& Public Const WM_MDIMAXIMIZE As Long = &H225& Public Const WM_MDIREFRESHMENU As Long = &H234& Public Const WM_MDIRESTORE As Long = &H223& Public Const WM_MDISETMENU As Long = &H230& Public Const WM_MDITILE As Long = &H226& Public Const WM_MEASUREITEM As Long = &H2C& Public Const WM_MENUCHAR As Long = &H120& Public Const WM_MENUCOMMAND As Long = &H126& Public Const WM_MENUDRAG As Long = &H123& Public Const WM_MENUGETOBJECT As Long = &H124& Public Const WM_MENURBUTTONUP As Long = &H122& Public Const WM_MENUSELECT As Long = &H11F& Public Const WM_MOUSEACTIVATE As Long = &H21& Public Const WM_MOUSEFIRST As Long = &H200& Public Const WM_MOUSEHOVER As Long = &H2A1& Public Const WM_MOUSELAST As Long = &H209& Public Const WM_MOUSELEAVE As Long = &H2A3& Public Const WM_MOUSEMOVE As Long = &H200& Public Const WM_MOUSEWHEEL As Long = &H20A& Public Const WM_MOVE As Long = &H3& Public Const WM_MOVING As Long = &H216& Public Const WM_NCACTIVATE As Long = &H86& Public Const WM_NCCALCSIZE As Long = &H83& Public Const WM_NCCREATE As Long = &H81& Public Const WM_NCDESTROY As Long = &H82& Public Const WM_NCHITTEST As Long = &H84& Public Const WM_NCLBUTTONDBLCLK As Long = &HA3& Public Const WM_NCLBUTTONDOWN As Long = &HA1& Public Const WM_NCLBUTTONUP As Long = &HA2& Public Const WM_NCMBUTTONDBLCLK As Long = &HA9& Public Const WM_NCMBUTTONDOWN As Long = &HA7& Public Const WM_NCMBUTTONUP As Long = &HA8& Public Const WM_NCMOUSEHOVER As Long = &H2A0& Public Const WM_NCMOUSELEAVE As Long = &H2A2& Public Const WM_NCMOUSEMOVE As Long = &HA0& Public Const WM_NCPAINT As Long = &H85& Public Const WM_NCRBUTTONDBLCLK As Long = &HA6& Public Const WM_NCRBUTTONDOWN As Long = &HA4& Public Const WM_NCRBUTTONUP As Long = &HA5& Public Const WM_NCXBUTTONDBLCLK As Long = &HAD& Public Const WM_NCXBUTTONDOWN As Long = &HAB& Public Const WM_NCXBUTTONUP As Long = &HAC& Public Const WM_NEXTDLGCTL As Long = &H28& Public Const WM_NEXTMENU As Long = &H213& Public Const WM_NOTIFY As Long = &H4E& Public Const WM_NOTIFYFORMAT As Long = &H55& Public Const WM_NULL As Long = &H0& Public Const WM_OTHERWINDOWCREATED As Long = &H42& Public Const WM_OTHERWINDOWDESTROYED As Long = &H43& Public Const WM_PAINT As Long = &HF& Public Const WM_PAINTCLIPBOARD As Long = &H309& Public Const WM_PAINTICON As Long = &H26& Public Const WM_PALETTECHANGED As Long = &H311& Public Const WM_PALETTEISCHANGING As Long = &H310& Public Const WM_PARENTNOTIFY As Long = &H210& Public Const WM_PASTE As Long = &H302& Public Const WM_PENWINFIRST As Long = &H380& Public Const WM_PENWINLAST As Long = &H38F& Public Const WM_POWER As Long = &H48& Public Const WM_POWERBROADCAST As Long = &H218& Public Const WM_PRINT As Long = &H317& Public Const WM_PRINTCLIENT As Long = &H318& Public Const WM_PSD_ENVSTAMPRECT As Long = (WM_USER + 5&) Public Const WM_PSD_FULLPAGERECT As Long = (WM_USER + 1&) Public Const WM_PSD_GREEKTEXTRECT As Long = (WM_USER + 4&) Public Const WM_PSD_MARGINRECT As Long = (WM_USER + 3&) Public Const WM_PSD_MINMARGINRECT As Long = (WM_USER + 2&) Public Const WM_PSD_PAGESETUPDLG As Long = (WM_USER) Public Const WM_PSD_YAFULLPAGERECT As Long = (WM_USER + 6&) Public Const WM_QUERYDRAGICON As Long = &H37& Public Const WM_QUERYENDSESSION As Long = &H11& Public Const WM_QUERYNEWPALETTE As Long = &H30F& Public Const WM_QUERYOPEN As Long = &H13& Public Const WM_QUERYUISTATE As Long = &H129& Public Const WM_QUEUESYNC As Long = &H23& Public Const WM_QUIT As Long = &H12& Public Const WM_RASDIALEVENT As Long = &HCCCD& Public Const WM_RBUTTONDBLCLK As Long = &H206& Public Const WM_RBUTTONDOWN As Long = &H204& Public Const WM_RBUTTONUP As Long = &H205& Public Const WM_RENDERALLFORMATS As Long = &H306& Public Const WM_RENDERFORMAT As Long = &H305& Public Const WM_SETCURSOR As Long = &H20& Public Const WM_SETFOCUS As Long = &H7& Public Const WM_SETFONT As Long = &H30& Public Const WM_SETHOTKEY As Long = &H32& Public Const WM_SETICON As Long = &H80& Public Const WM_SETREDRAW As Long = &HB& Public Const WM_SETTEXT As Long = &HC& Public Const WM_WININICHANGE As Long = &H1A& Public Const WM_SETTINGCHANGE As Long = WM_WININICHANGE Public Const WM_SHOWWINDOW As Long = &H18& Public Const WM_SIZE As Long = &H5& Public Const WM_SIZECLIPBOARD As Long = &H30B& Public Const WM_SIZING As Long = &H214& Public Const WM_SPOOLERSTATUS As Long = &H2A& Public Const WM_STYLECHANGED As Long = &H7D& Public Const WM_STYLECHANGING As Long = &H7C& Public Const WM_SYNCPAINT As Long = &H88& Public Const WM_SYSCHAR As Long = &H106& Public Const WM_SYSCOLORCHANGE As Long = &H15& Public Const WM_SYSCOMMAND As Long = &H112& Public Const WM_SYSDEADCHAR As Long = &H107& Public Const WM_SYSKEYDOWN As Long = &H104& Public Const WM_SYSKEYUP As Long = &H105& Public Const WM_TCARD As Long = &H52& Public Const WM_TIMECHANGE As Long = &H1E& Public Const WM_TIMER As Long = &H113& Public Const WM_UNDO As Long = &H304& Public Const WM_UNINITMENUPOPUP As Long = &H125& Public Const WM_UPDATEUISTATE As Long = &H128& Public Const WM_USERCHANGED As Long = &H54& Public Const WM_VKEYTOITEM As Long = &H2E& Public Const WM_VSCROLL As Long = &H115& Public Const WM_VSCROLLCLIPBOARD As Long = &H30A& Public Const WM_WINDOWPOSCHANGED As Long = &H47& Public Const WM_WINDOWPOSCHANGING As Long = &H46& Public Const WM_WNT_CONVERTREQUESTEX As Long = &H109& Public Const WM_XBUTTONDBLCLK As Long = &H20D& Public Const WM_XBUTTONDOWN As Long = &H20B& Public Const WM_XBUTTONUP As Long = &H20C&
Siinä pitäis olla kaikki. :)
Edit: Vastaisuuden varalle suosittelen http://www.activevb.de/rubriken/apiviewer/index-apiviewereng.html, siitä minä nuo itse rippasin.
Noilla tuskin laitetaan ie:tä navigoimaan ie:tä minnekkään.
Tai ainakaan en itse huomannut mitään mikä moiseeen viittaisi.
EDIT: pitää käydä katsomassa tuota antamaasi sivua..
Miksi IE:hen olisi rakennettu sellainen systeemi, että sitä voisi käskyttää ulkopuolelta? Luulenpa ettei onnistu..
ei sitä kuule koskaan tiedä.. ie kun on mikkisoftan tekemä.
No kyllä aika monikin ohjelma automaattisesti osaa avata IE:n ja pistää sen avaamaan tietyn osoitteen.
avaus onnistuu tiettyyn osoitteeseen vaikka näin:
'generaliin Private WithEvents IExplore As Internet Explorer 'form loadiin Set IExplore = New Internet Explorer 'esimerkiksi kotisivulle meno IExplore.Gohome IExplore.Visible = True
Mutta haen tässä sitä että etsin jonkin avoinna olevan IE:n kahvan ja pompottelen sitä sitten mieleni mukaan postmessagea käyttäen jolla voidaan lähettää käskyjä muille sovelluksille.
mahdotonta?
Mää veikkaisin että mahdotonta. Winamppi on tietääkseni ainoa ohjelma jota voi tolla tavalla käskyttää tekemään mitävaan, m$ tuskin tollasia tekee.
Kyllähän tuo operaatio onnistuu tai ainakin minä sain sen onnistumaan. Ensin täytyy vain löytää sen IE:n osoitepalkin(ComboBox->Edit) kahva ja sitten heittää se osoite siihen Edit:in jonka jälkeen vielä Enterin painallus perään. Esim(valitettavasti C:llä)
char AddrStr="http://www.google.com"; //osoite SendMessage(EditKahva,WM_SETTEXT,0,(WPARAM)AddrStr); //Enter-painallus SendMessage(EditKahva,WM_KEYDOWN,VK_RETURN,0);
Se onkin sitten eri asia miten tuon oikean kahvan saa. Onnistuu ainakin näin (Win2k 5.00.2195 SP4 IE 6.0.2800.1106)
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam) { char clzName[1024]; HWND Worker,ReBar,CmbBox1,CmbBox2,Edit; GetClassName(hwnd,clzName,1024); if(strcmp(clzName,"IEFrame")==0){ Worker=FindWindowEx(hwnd,NULL,"WorkerW",NULL); if(Worker!=NULL){ ReBar=FindWindowEx(Worker,NULL,"ReBarWindow32",NULL); if(ReBar!=NULL){ CmbBox1=FindWindowEx(ReBar,NULL,"ComboBoxEx32",NULL); if(CmbBox1!=NULL){ CmbBox2=FindWindowEx(CmbBox1,NULL,"ComboBox",NULL); if(CmbBox2!=NULL){ Edit=FindWindowEx(CmbBox2,NULL,"Edit",NULL); //Edit on se kahva johon osoite heitetään } } } } } return TRUE; } //kun tekee tämän kutsun windows enumeroi kaikki //ikkunat läpi ylläolevan funktion avulla EnumWindows(EnumWindowsProc,0);
Tuo temppu vain taitaa olla versio riippuva aika vahvasti. Siis että tuo osoitepalkin kahva löytyy IEFrame->WorkerW->ReBarWindow32->ComboBoxEx32->ComboBox->Edit. Toisaalta kun itsellä ei ole mahdollisuutta tutkia muita IE:n versioita niin en tiedä vaikka kaikissa olisi nuo ikkunat tuollalailla.
Silti jos joku haluaa kokeilla omalla koneellaan tuota niin tässä valmis ohjelma(copy-paste osoitekenttään):
http://www.geocities.com/prlnsop/ieprog.zip
Paina ensin päivitä,kirjoita sitten osoite kenttään mikä osoite ja valitse listalta se selain jonka haluat siirtyvän (jos selaimen perässä on teksti <ei toimi> niin luultavasti tuo edellinen Edit:n kahvan etsintä on mennyt poskelleen eikä siirtyminen toimi). Tietenkin IE:n pitää olla jo päällä kun tuo ohjelma ajetaan.
Koodi jolla kahva etsitään minulla on jo siitä ei ole huolta. Käsittääkseni tuossa kuuluisi käyttää PostMessagea?
ainakin esim. ie:n sulkemisessa piti käyttää sitä.
Ja tuon lähetys sitten onkin melko helppo (varmaankin) kääntää vb:lle.
Kiitos paljon!
Jepulis, Mikkisoftissa on ollut aikojen alusta esim DDE tuki (ja on vieläkin) tässä esimerkki DDE:tä käyttäen,
Laita formiin 1 textbox. IE pitää olla päällä että esimerkki toimii...
Private Sub Form_Load() On Error Resume Next Text1.LinkMode = 0 Text1.LinkTopic = "iexplore|WWW_OpenURL" Text1.LinkMode = 2 Text1.LinkExecute "http://WWW.microsoft.com" End Sub
tuomas kirjoitti:
Käsittääkseni tuossa kuuluisi käyttää PostMessagea?
ainakin esim. ie:n sulkemisessa piti käyttää sitä.
PostMessage heittää sen viestin sille ikkunalle sen viestiketjuun ja palaa välittömästi odottamatta että se ikkuna käsittelee sen viestin. SendMessage ei palaa ennenkuin se ikkuna on käsitellyt tuon viestin.
Periaatteessa kait on parempi odottaa että tuo edellinen viesti(osoite) on käsitelty ennenkuin heittää sen toisen viestin(Enter-painallus) perään. En ole kyllä varma onko tuolla väliä, mutta menee varman päälle noin.
Vielä kun pystyisin tekemään saman operalle, mozillalle ja netscapille.
Tukia (niitä reference juttuja) kun on vaan niin vaikea löytää..
Spirits kirjoitti:
Silti jos joku haluaa kokeilla omalla koneellaan tuota niin tässä valmis ohjelma(copy-paste osoitekenttään):
Sooli. Toimi ainakin minulla (Windows Server 2003, IE 6.0.3790.0)
operalle, mozillalle ja netscapille... tukevat DDE:tä
(Dynamic Data Exchange)
eli toimivat DDE serverinä voit lähettää niille linkin täsmäälleen samalla tavalla kuin aiemmassa esimerkissäni..
eli vakkapa Operaan vaihdat linktopikin..
Text1.LinkTopic ="Opera|WWW_OpenURL"
kätevää.
Pitää testata sen jälkeen kun olen kyseise(n / t) selaimet asentanut.
Joo kyllä DDE on edelleen (toimi jo Win 3.1) varsin käyttökelpoinen kun tarvitsee keskustella eri applikaatioiden välillä.
..myös omat VB softat saa helposti serveriksi jolloin voit ohjata esim excelistä ohjemaasi tai toisinpäin..
Eikä tässä vielä kaikki (sanoi ostoskanava)..toimii myös verkon yli jos säädät NETDDE asetukset oikein.
tuo:
Text1.LinkTopic ="firefox|WWW_OpenURL"
Käskyttää viimeisempänä avattua selainta.
Olisiko mahdollista käskyttää muitakin kuin sitä hwnd:n avulla?
muitakin mitä?
DDE:n standardi syntaksi on muotoa
Application|topic!item eli linkki esim exceliin olisi
Excel|sheet1!r1c1
ei siis HWND:llä vaan aplikaation nimellä toimiva.
Sitten esim VB:ssä jos asetat linkmoden source ja applikaatiosi nimi vaikkapa test ja tallennat sellaisenaan
niin dde syntaksi textbox ykköseen olisi
test|form1!text1.text
toihan toimii kaikiin jotka tukevat DDE:tä ja aika iso osa isommista ohjelmista tukee..
Eli avaan ennen kuin suoritan tuon koodin pätkän 5 firefox selainta.
Klikkaan nappia ja se viimeisimpänä avattu selain navigoi tuohon microsoft.com osoitteesen eivätkä kaikki.
Jahaps,
Ainakin IE:ssä voit tarkentaa Executen syntaksia
Text1.LinkExecute "http://WWW.microsoft.com,,1"
jolloin lähetetään ensimmäiseen...
Toinen mahdollisuus on lähetää ensin www_activate DDE:n läpi
On Error Resume Next Text1.LinkMode = 0 Text1.LinkTopic = "iexplore|WWW_Activate" Text1.LinkItem = 1 Text1.LinkMode = 2 Text1.LinkPoke
Huomasin myös että on ollut jotain keskustelua selaimen sulkemisesta myös se onnistuu DDE:llä
on error resume next Text1.LinkMode = 0 Text1.LinkTopic = "iexplore|WWW_Exit" Text1.LinkMode = 2 Text1.LinkPoke
Tiha kirjoitti:
Jepulis, Mikkisoftissa on ollut aikojen alusta esim DDE tuki (ja on vieläkin) tässä esimerkki DDE:tä käyttäen,
Laita formiin 1 textbox. IE pitää olla päällä että esimerkki toimii...Private Sub Form_Load() On Error Resume Next Text1.LinkMode = 0 Text1.LinkTopic = "iexplore|WWW_OpenURL" Text1.LinkMode = 2 Text1.LinkExecute "http://WWW.microsoft.com" End Sub
ei P, toihan toimii!
palataampa vielä tähän aiheeseen,
eli saisiko tuota DDE:tä käyttämällä selville millä sivustolla ollaan?
Minuutin googletus: http://www.vbcode.com/asp/showzip.asp?ZipFile=http://www.vbcode.com/code/Getting_urls.zip&theID=1569 -> http://www.vbcode.com/code/Getting_urls.zip
Aihe on jo aika vanha, joten et voi enää vastata siihen.