| Autor | Správa |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: So 21.03.09 21:15 |   |
AHojte takze chcel by som spravit jednu vec ked minimalizujem aplikaciu aby sa mi minimalizovala do ctray-u. A vytvorit checkbox ked je zafajktnuty tak pri starte windowsu sa spusti aplikacia Predom vdaka. |
| |
  |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: Ne 22.03.09 11:27 |   |
nasiel som par navodov ale nerozumiem tomu |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Ne 22.03.09 11:44 |   |
Napíš, čomu presne nerozumieš. |
| |
   |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: Ne 22.03.09 14:29 |   |
nie ze by som nerozumel ale nejde to proste chcem aby ked KLIKNEM na minimaze tak mi ho minimazne do sys tray |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Ne 22.03.09 14:40 |   |
Ak minimalizuješ okno, bude tomuto oknu zaslaná správa WM_SIZE a WPARAM nadobudne hodnotu SIZE_MINIMZED. Stačí iba toto ošetriť. |
| |
   |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: Ne 22.03.09 15:52 |   |
kde to mam dat ako to mam spravit chapes ja som s toho fakt debil zacinam v tom robyt |
| |
  |
 |
stopa27
 Užívateľ
 Založený: 19.09.2006 Príspevky: 729 Bydlisko: Ružomberok<->Bratislava (21)
 |
Tipol by som to na c++, cize v funkcii, ktora ti spracovava spravy windowsu das do toho switchu este jeden case, ktory bude reagovat na spravu WM_SIZE. Toto som robil (kopiroval z helpu) niekedy ja.
| kód: | case WM_SIZE:
if (wParam==SIZE_MINIMIZED) {
pdata->cbSize=88;
pdata->hWnd=hwnd;
pdata->uFlags=(NIF_MESSAGE | NIF_ICON | NIF_TIP);
pdata->uID=12;
pdata->uCallbackMessage=2000;
pdata->hIcon=LoadIcon(NULL,IDI_APPLICATION);
strcpy(pdata->szTip,tip);
ShowWindow(hwnd,SW_HIDE);
Shell_NotifyIcon(NIM_ADD,pdata);
}
break;
case 2000:
if (wParam==12 && lParam==WM_LBUTTONDOWN) {
pdata->uFlags=NIF_ICON;
pdata->uCallbackMessage=1000;
ShowWindow(hwnd,SW_SHOWDEFAULT);
Shell_NotifyIcon(NIM_DELETE,pdata);
}
break; |
pdata su deklarovane globalne ako PNOTIFYICONDATA a treba includovat shellapi.h
A k tomu chcekboxu : staci vytvorit v registroch zaznam s cestou k aplikacii niekde v software\microsoft\windows\run alebo tak nejak. |
| |
       |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Po 23.03.09 15:06 |   |
No mne sa skôr zdá, že on to potrebuje vo VB, keďže jeho príspevky sú hlavne vo VB, ale to si mal napísať, Miko.
Skús sa pozrieť sem. |
| |
   |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: Po 23.03.09 19:29 |   |
chlapci tray som zvladol googlil sm a nasiel som tu metodu ano pisem vo vb takze teraz spravit ten checkbox alebo nieco ine ako nastavit ci sa to da sputit s windowsom |
| |
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Po 23.03.09 20:34 |   |
Daj to tak, že ak je odfajknutý, tak do registru "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" sa zapíše hodnota s cestou, kde je uložený tvoj súbor a ak nie je odfajknutý, tak sa vymaže. |
| |
   |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: Po 23.03.09 21:08 |   |
takze prepac mi ale s checkboxami som nerobil ja viem ze je to pre vás takze si so mnou radit ale fakt som zaciatocnik takze bude to vyzerat
| kód: | Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
End Sub |
|
| |
  |
 |
Patkoo
 Užívateľ
 Založený: 02.11.2008 Príspevky: 85
 | Zaslal: Ut 24.03.09 16:35 |   |
Doporucujem vytvorit nejaky form (Nastavenia napr.), hodit tam checkbox a tlacitko "Uložiť". Vyuzi handler tlacitka (Button1_Click) a tam to kontroluj.
if checkbox1.checked=true then
'ked je zaskrtnuty checkbox
'pridaj do registra hodnotu - vygoogli
else
'ked neni
'vymaz z registrov - vygoogli ako mazat z registrov
end if |
| |
  |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: St 25.03.09 21:25 |   |
ano takto chapem takye je to takto | kód: | Dim startupReg As RegistryKey = Registry.CurrentUser
Dim startupKey As RegistryKey = startupReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
If CheckBox1.Checked = True Then
startupKey.SetValue("KM Note", Application.ExecutablePath)
Else
startupKey.DeleteSubKey("KM Note", False)
End If |
a potrebujem este aby mi applikacia skontrolovala ci existuje ten register a ak existuje bud da checkboxu True alebo false ako to spravit |
| |
  |
 |
Patkoo
 Užívateľ
 Založený: 02.11.2008 Príspevky: 85
 | Zaslal: Št 26.03.09 19:37 |   |
pouzivaj DeleteValue, delete subkey nefunguje v tomto pripade. Subkey maze iba podzlozky v registri.
| kód: |
Dim startupReg As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser
Dim startupKey As Microsoft.Win32.RegistryKey = startupReg.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim value() As String
value = startupKey.GetValueNames()
If value.Contains("KM Note") = True Then CheckBox1.Checked = True
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If CheckBox1.Checked = True Then
startupKey.SetValue("KM Note", Application.ExecutablePath)
Else
startupKey.DeleteValue("KM Note")
End If
End Sub |
|
| |
  |
 |
Miko
 Užívateľ
 Založený: 14.01.2009 Príspevky: 76
 | Zaslal: Pi 27.03.09 21:11 |   |
pise mi error
| kód: | | Error 1 'Contains' is not a member of 'System.Array'. F:\System_tray_menu\Form1.vb 217 12 System_tray_menu | co s tym |
| |
  |
 |
|