Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tiedoston haku

pajuar [03.11.2004 23:02:39]

#

Onko jotain järkevää keinoa ohjelman tutkia, onko koneessa asennettuna jokin ohjelma ja sitten palauttamaan ko. ohjelman asennuspolku?

tuomas [03.11.2004 23:20:57]

#

no ainahan voit koluta koneen jokaisen tiedoston.. taitaisi tosin olla hieman hidasta. Kannattaa varmaankin kurkata rekisteriin jos sieltä löytyisi jonkinlainen lista..

Antti Laaksonen [04.11.2004 00:48:02]

#

Jos ohjelma on asennettu niin, että se näkyy esim. Control Panelissa (Ohjauspaneelissa) poistettavien ohjelmien listalla, niin sitten ohjelman tiedot saa selville rekisteristä kohdasta HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall (voit vaikka tutkia regedit-ohjelmalla, mitä tuolla on). Jos kuitenkin ohjelma on vain tietyssä hakemistossa eikä sen asentamisesta ole erikseen ilmoitettu rekisteriin, ainoa keino on käydä levyn kaikki hakemistot läpi. Tämäkin kyllä onnistuu, mutta vie kauan aikaa.

Rekisterin käytöstä löydät esimerkin täältä Ohjelmointiputkasta ja muuta aiheeseen liittyvää Googlella. Hakemistojen läpikäymiseen tarvitset Dir-funktiota, johon liittyy myös erillinen koodivinkki.

pajuar [04.11.2004 00:52:22]

#

Niin arvelin, mutta ei pienintä hajua, miten voin rekistreissä olevaa tietoa hyödyntää. Yritän saada ohjelman ottamaan selvän Accesin polusta.
Mulla on toinenkin vaihtoehto ongelmani ratkaisuun.Tarvitsen siihenkin apua; Miten saan tekstikentässä olevasta tekstistä esim. "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" korvattua vain lopun niin, että tulos on "C:\Program Files\Microsoft Office\Office11\MSACCESS.EXE" ? (Eli polun loppuosa on aina "Office11\MSACCESS.EXE", vaikka edessä oleva polku olisi mikä hyvänsä?

Antti Laaksonen [04.11.2004 01:01:54]

#

Mistä kohdasta alkuperäinen hakemistopolku pitää katkaista? Homma hoituu taatusti merkkijonofunktioiden avulla...

pajuar [04.11.2004 20:21:15]

#

Kiitos vinkistä. Löysin sopivan idean ja sain homman toimimaan. Ideana oli se, että käyttäjä haki hakemistoluettelosta ohjelmaa asennettaessa asennusohjelmassa mahdollisesti käytössä olevan Accessin asennuspolun ja ohjelma tallensi sen erilliseen tiedostoon, josta varsinainen ohjelma sitten hakee asennuspolun. Ongelmana oli se, että ohjelma käyttää Accesin Runtime-versiota. Jos käyttäjällä on koneessaan Access, on sen ohjelmapolku X:\xxxxx\xxxjne\Office\MSACCESS.EXE Ohjelman asennuspolku Runtime-version asentamisen jälkeen oilkin...\Office11\MSACCESS.EXE. Mitään ongelmaa ei olisi ollut, jos kaikki asentaisivat Officen oletushakemistoon, mutta... Tästä syystä piti saada selville asennuspolun alkuosa ja muuttaa vain /Office/--> Office11, mutta vain siinä tapauksessa, että se ei jo ole /office11/...
En tiedä tajusiko kukaan, mutta ainakin nyt homma toimii.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta