Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Autostart Win7


Rekomendowane odpowiedzi

Opublikowano

Chcę, aby program dodawał się sam do autostartu. Ma (powinien) działać na systemach XP(koniecznie), Vista i 7. Myślałem nad dodawaniem wpisu do rejestru. Z tego co wiem na XP da się bez problemu ale nie mam jak przetestować tej wiedzy w praktyce bo mam tylko Win7. Jak z Vistą nie mam pojęcia. Ale na Windows 7 po prostu nie da się dodać wpisu funkcją. Nie mogę też skopiować programu do folderu autostartu. Ręcznie wymaga to potwierdzenia praw administratora. Nie mam pomysłów, nie mam XP (dla którego w 90% piszę program) i Visty do testowania. Macie jakieś propozycje? Nie koniecznie AutoIT, jak ktoś umie bezproblemowo dodać program do autostartu (bez wiedzy użytkownika) nawet w innym języku to byłbym wdzięczny za pomoc :P Od razu piszę, że to nie żadne "złe" oprogramowanie ;D Wybaczcie, że chaotycznie to opisałem, ale mam nadzieję że każdy zrozumie ;P Z góry dzięki za wszystkie mądre odpowiedzi ;)

Opublikowano

to się powinno nadać..

RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "twoja_nazwa", "REG_SZ", @ScriptFullPath)

 

;Script by ziuto
;Source-code Autoit v3
$User = InputBox("Twoj nick", "Podaj swoj nick", "tu go wpisz")
If $User = "ziuto" Then
$gui = GUICreate("User " & $User, 175, 100, -1, -1, 0x00080000)
$button_lubie_cie = GUICtrlCreateButton("Sam sie lubie", 50, 10)
$button_dam_ci_5_gwiazdek = GUICtrlCreateButton("Dam sobie 5 gwiazdek", 30, 40)
ElseIf $User <> "ziuto" Then
MsgBox(0, "Powitanie", "Siema " & $User)
$gui = GUICreate("User " & $User, 175, 100, -1, -1, 0x00080000)
$button_lubie_cie = GUICtrlCreateButton("Lubie cie ziuto", 47, 10)
$button_dam_ci_5_gwiazdek = GUICtrlCreateButton("Dam ci 5 gwiazdek ziuto", 25, 40)
EndIf
GUISetState(@SW_SHOW, $gui)
While $User = "ziuto"
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $button_lubie_cie
MsgBox(0, "Lubie sie", "Sam sie lubie :o")
Case $msg = $button_dam_ci_5_gwiazdek
MsgBox(0, "Dam sobie 5 gwiadek", "Ze bym to ja mogl sam sobie dac")
EndSelect
WEnd
While $User <> "ziuto"
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $button_lubie_cie
MsgBox(0, "Lubie cie", "A za co ?")
InputBox("A za co ?", "Za co mnie lubisz ?", "???")
MsgBox(0, "Za to", "Aha" & @CRLF & "Dobrze to wiedziec xD" & @CRLF & "Nq")
ShellExecute("http://www.mpcforum.pl/")
ExitLoop
Case $msg = $button_dam_ci_5_gwiazdek
ShellExecute("http://www.mpcforum.pl/user/259390-ziuto/")
EndSelect
WEnd


Opublikowano

Właśnie o to mi chodzi, w Win7 nie mogę tak dodać wpisu do rejestru :(

 

@Edit - na XP da radę? Bo nie jestem pewny a muszę mieć pewniaka, że za pierwszym razem będzie dodawać bez problemów i bez zbędnych pytań/informacji... tylko kliknę przycisk [Dodaj] i OD RAZU chcę móc kliknąć Reset ze 100% przekonaniem, że odpowiedni program się odpali zaraz po włączeniu! ;P

 

@Edit - omg! piszę jakbym był n00bem programującym od wczoraj o.OxD

Opublikowano


func startup()
$nazwa=@ScriptName
if IniRead("opcje.ini","glowne","check","4")=1 Then
FileCopy($nazwa,@StartupDir & "\" &$nazwa)
Else
FileDelete(@StartupDir & "\" &$nazwa)
EndIf
EndFunc

To z kodu na konkurs. Więc tak: $nazwa to sciezka do pliku ktory chcesz skopiowac , ja tu chcialem aby kopiowal uruchomiony skrypt po zaznaczeniu checkboxa. Jak był zaznaczony to do ini wpisywal 1 i kopiowal do autostartu a jak nie byl zaznaczony to go usuwal. Proste.

 

Wydaje mi sie ze bedzie dzialac na kazdym systemie.

Opublikowano

Jak już napisałem - przy próbie kopiowania ręcznie do folderu autostart muszę potwierdzić prawa administratora. Przy użyciu tej funkcji w skrypcie zwraca mi 0, czyli nie może skopiować pliku... ale dzięki, lajki za fatygę i czekam dalej ;P

Opublikowano

#requireadmin

Może to? Weź do scite, walnij f1 tam jest jakis odnosnik do "Autoit on Windows Vista" , sorry ale jestem tak zmeczony ze mi sie nie chce tego czytac moze na cos trafisz

 

@DOWN:

jak bez zadnej pomocy to juz podalem wyzej :P Pseudokod jak to ulepszyc:

if plikistnieje(@StartupDir & "\" &$nazwapliku) then 
return
else
FileCopy($nazwapliku,@StartupDir & "\" &$nazwa)
endif

Opublikowano

@wojtek333314 dzięki, nie wpadłem na to. W ostateczności może rozwiązać sprawę :P Jednak czekam na dalsze propozycje. Dla ścisłości - chodzi mi o to, żeby dodać program do autostartu bez żadnej "pomocy" użytkownika, jak w tym przypadku uprzejma prośba o pozwolenie na uruchomienie programu ;D

Opublikowano

Nie ma takiej opcji.

 

#require_admin wymagany.

 

Dlatego zwykło się tworzyć aplikację instalacyjną ( wymagającą admina, modyfikującą rejestr ) i aplikację końcową ( admina niewymagającą ).

 

Wszystkie ( większość? ) instalacji wymaga praw administratora ( lub pozwolenia administratora ).

Ta sygnatura jest pusta.

Opublikowano

sama opcja nie wystarczy w skrypcie, program musi być i tak uruchomiony z prawem administratora jeśli będzie odpalany na koncie zwykłego usera

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

@4ggr35510n - właśnie do takich wniosków doszedłem i mam zamiar zrobić instalator, który wymaga praw administratora, reszta to pikuś ;P Dzięki wszystkim za pomoc. Close

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...