voiko vb:llä ohjelmoida sellaista sovellusta jonka avulla pystyy muokkaamaan windowsin työpöytää, käynnistävalikkoa, tehtäväpalkkia, ikkunoita jne... esimerkki tällaisesta on windowblinds, mutta tarkoitan nyt visual basicilla....
WinAPI:lla varmasti pystyy, mutta en itse oikein osaa tarkemmin kertoa siitä. Varmasti täällä joku kuitenkin osaa.
Jos jotenkin SendKeyssillä...
No, jos muokkaat niitä kansioita missä on kaikki kuvakkeet jne, mut kyllä rekkarista löyty ainakin kaikki asetukset, mikä kansio on kännistä-valikko jne
No riippuu hieman minkälaista muokkausohjelmaa tarkoitat. Kerroppa niin ehkä voin auttaa. ;)
remontti-reiska kirjoitti:
No riippuu hieman minkälaista muokkausohjelmaa tarkoitat. Kerroppa niin ehkä voin auttaa. ;)
No johan se kertoi.
sami_jokimies kirjoitti:
esimerkki tällaisesta on windowblinds
WinAPI:sta löytyy joitain funktioita kyseisen laiseen ulkoasun muokkaukseen, mutta koska kyseinen API on niin "loistavasti" dokumentoitu joudut kyllä jonkun aikaa selailemaan esimerkkejä ennenkuin saat sellaisen luoduksi.
Suoraan VB:llä homma on kyllä taatusti tuskainen homma ja käytännössä mahdoton sillä VB olioilla et suoraan pääse vaikuttamaan käyttöjärjestelmän ulkoasuun.
Käyttöjärjestelmästä riippuen esimerkiksi taustakuvan vaihtaminen on mahdotonta vaikka siihen on olemassa WinAPI:ssa funktio. Kokeilin sitä aikani kunnes löysin MSDN:stä raportin jossa ilmoitettiin ettei se toimi W2000:ssa... pari päivää taistelua hukkaan...:X
VB.NET tarjoaa vähän paremmat työkalut ulkoasun muokkaukseen vaikka muutoin onkin syvältä...
Jep, kyllähän noi apeilla onnistuu..joutuu vaan käyttämää aika arsenaalin ja ainakin joitakin A4:sia jos kaikki noi toiminnat haluaa
Voisi toi desktoppikin onnistua mutta ensin pitää antaa oikeudet AllowSetForegroundWindow apilla.
tässä vaan simppeli start painikkeen piilotus , parametreillähän siihen saa mitä vain..
Const SWP_HIDEWINDOW = &H80 Const SWP_SHOWWINDOW = &H40 Const GW_CHILD = 5 Const GW_HWNDNEXT = 2 Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Dim tWnd As Long, bWnd As Long, sSave As String * 250 Private Sub Form_Load() 'etsi tasbar tWnd = FindWindow("Shell_traywnd", vbNullString) bWnd = GetWindow(tWnd, GW_CHILD) 'Etsi starttipainike Do GetClassName bWnd, sSave, 250 If LCase(Left$(sSave, 6)) = "button" Then Exit Do bWnd = GetWindow(bWnd, GW_HWNDNEXT) Loop SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW End Sub Private Sub Form_Unload(Cancel As Integer) 'Näytä starttipainike poistuttaessa SetWindowPos bWnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW End Sub
On myös ohjelma nimeltä StyleXP, jos niitä kuvia haluat muokata.
Käykää katsomassa, www.AllAPI.net -Sivustolla on kaikki API-functiot, ja esimerkit. Paljon on sellasia functioita, jotka ei toimi esim. w98 ympäristössä... (Tarkistuksia...)
Aihe on jo aika vanha, joten et voi enää vastata siihen.