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 SubOn 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.