Системные файлы

Все темы, касающиеся администрирования и работы с Windows/Windows Server.

Модератор: Sebas

DKbelRoma
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 282
Зарегистрирован: 13.09.2007 (Чт) 23:32
Откуда: Из Кривого Рога

Системные файлы

Сообщение DKbelRoma » 26.12.2007 (Ср) 20:39

Пишу программу и немогу найти файлы, которые касаются работы системы. Я имею ввиду - выключить, перезагрузить и т.д.
Я помню только фаил logoff.exe, а другие из головы повылетали.
Помогите пожалуйста вспомнить остальные. :wink:
«Не важно, откуда ты. Важно - где ты.»

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.12.2007 (Чт) 8:56

Какая каша у тебя в голове...
Лучше бы все действительно повылетало, тогда хотя бы был шанс наполнить ее полезной информацией.
Lasciate ogni speranza, voi ch'entrate.

AntonGV
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 24.05.2006 (Ср) 12:10
Откуда: г. Пермь

Сообщение AntonGV » 27.12.2007 (Чт) 12:48

Думаю, можно в этой теме задать и мой вопрос :roll:

У меня почему-то файлы экранных заставок (.scr) стали ассоциированы с программой Dependency Walker, и теперь заставки ни как нельзя установить. Как можно восстановить стандартные ассоциации для файлов .scr ?
Если долго мучиться, что-нибудь получится

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.12.2007 (Чт) 12:57

Потому что ты выбрал команду "Открыть с помощью" и не отключил флажок "Всегда использовать эту программу".
Зачем восстанавливать? При выборе заставки ты просто выбираешь ее из списка, главное, чтобы этот файл был в каталоге Windows.
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 27.12.2007 (Чт) 13:25

AntonGV
открой в любом окне explorer: "Сервис"-"Свойства папки"-"типы файлов", дождись, пока заполнится список, найди в списке расширение scr и нажми на нем кнопку "Восстановить"

з.ы. апплет "Свойства папки" также доступен из панели управления.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 27.12.2007 (Чт) 19:17

alibek
Почему каша? Да, такие файлы существуют (их 3, по-моему).

DKbelRoma
Через Shell запускать будешь? :)
Просто я такую программу писал, когда только осваивал VB6.

DKbelRoma
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 282
Зарегистрирован: 13.09.2007 (Чт) 23:32
Откуда: Из Кривого Рога

Сообщение DKbelRoma » 27.12.2007 (Чт) 19:29

Watts[]n! да, вобщето собрался через Shell. Так подскажешь?
И помоему таких файлов больше трёх.
Какая каша у тебя в голове...
Лучше бы все действительно повылетало, тогда хотя бы был шанс наполнить ее полезной информацией.

Хватит обижать :( . Уже противно читать. Вроде у вас, когда вы начинали, таких вопросов небыло?
«Не важно, откуда ты. Важно - где ты.»

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 27.12.2007 (Чт) 19:45

DKbelRoma
Да, можно и так. Только вот имена файлов не помню.
Лучше через Api - всего несколько строчек.
Последний раз редактировалось Watts[]n! 28.12.2007 (Пт) 13:59, всего редактировалось 1 раз.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 27.12.2007 (Чт) 20:00

DKbelRoma писал(а):Хватит обижать :( . Уже противно читать. Вроде у вас, когда вы начинали, таких вопросов небыло?
Если чего-то не знаешь, просто спроси. Не выдвигай собственные предположения и домыслы, которые у знающих людей вызывают лишь неконтролируемое сползание под стул.
Лучший способ понять что-то самому — объяснить это другому.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 27.12.2007 (Чт) 20:04

Когда начинали разумеется подобные (хотя и не такие) были, но я например старался сам узнать из статей ответы, а не задавать на форуме программистов подобные вопросы. Сорри ща после репетиции нового года, если вдруг кого-то обидел...

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 27.12.2007 (Чт) 20:54

Да не ну вы озверели. Antonariy, сползая под стул копчик не ушиби.
Если ктото выдвигает предположение - значит думает. А думать полезно. Очень
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

DKbelRoma
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 282
Зарегистрирован: 13.09.2007 (Чт) 23:32
Откуда: Из Кривого Рога

Сообщение DKbelRoma » 27.12.2007 (Чт) 21:59

ANDLL-согласен.
Так как мне файлы то узнать? Проклацать все файлы в папке system32 ??? :? Я со скуки умру.
«Не важно, откуда ты. Важно - где ты.»

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 27.12.2007 (Чт) 22:27

DKbelRoma
shutdown.exe с параметрами. параметром /? как обычно печатается справка по параметрам. есесно все делай в командной строке (cmd.exe) удачи
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.12.2007 (Пт) 10:48

ANDLL
Я просто объяснил человеку, как избежать ситуаций, в которых он может быть высмеян, раз уж ему это неприятно. Лично мне пох. Я сам готов посмеяться над своей тупостью.

А думать конечно полезно и нужно, но вслух - не всегда...

Есть еще более глубинный, философский смысл того совета, но это уже совсем оффтоп.
Лучший способ понять что-то самому — объяснить это другому.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Системные файлы

Сообщение Saturn.65 » 28.12.2007 (Пт) 19:44

DKbelRoma писал(а):Пишу программу и немогу найти файлы, которые касаются работы системы. Я имею ввиду - выключить, перезагрузить и т.д.
Я помню только фаил logoff.exe, а другие из головы повылетали.
Помогите пожалуйста вспомнить остальные. :wink:

А если воспользоваться кодом, который и перезагрузит и выключит?
Тебе код надо или ты сам хочешь дойти до всего?
Главное, ребята, сердцем не стареть...

DKbelRoma
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 282
Зарегистрирован: 13.09.2007 (Чт) 23:32
Откуда: Из Кривого Рога

Сообщение DKbelRoma » 28.12.2007 (Пт) 21:09

Saturn.65 - ваще хочется самому дойти.ПРосто хотел узнать название файлов, а потом в программе их через Shell открыть и указать путь например "%SystemRoot%\system32\название файла.exe". Я же правильно думаю???
«Не важно, откуда ты. Важно - где ты.»

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 29.12.2007 (Сб) 8:43

Не очень :) Названия файлов и так никто не скрывает, а их описания можно найти в яндексе. И не только в яндексе.
Вложения
desc.gif
(18.24 Кб) Скачиваний: 131
Лучший способ понять что-то самому — объяснить это другому.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 29.12.2007 (Сб) 10:39

DKbelRoma писал(а):Saturn.65 - ваще хочется самому дойти.ПРосто хотел узнать название файлов, а потом в программе их через Shell открыть и указать путь например "%SystemRoot%\system32\название файла.exe". Я же правильно думаю???

Вот тебе описания файлов виндовс. Может чего интересного найдешь.
А выключить комп командой Shell "Выключить_комп.exe" нельзя.
Нужна специальная функция и т.д. Своим умом не дойдешь.
Код: Выделить всё
Как выключить или перезагрузить компьютер, как завершить сеанс пользователя
В Windows 98,95 всё делается очень просто: вызывается WinAPI функция ExitWindowsEx и больше ничего. А вот в Windows XP перед её вызовом процессу нужно получить специальную привилегию, иначе вызов функции завершается неудачей. Это касается перезагрузки и выключения, для завершения только сеанса никаких привилегий не требуется.
' Form
' - - - - - -
' Command1 – кнопка
' Command2 – кнопка
' Command3 – кнопка
' Command4 – кнопка
' - - - - - -
' Код формы

Private Const ANYSIZE_ARRAY = 1
Private Type LUID
  LowPart As Long
  HighPart As Long
End Type
Private Type LUID_AND_ATTRIBUTES
  pLuid As LUID
  Attributes As Long
End Type
Private Type TOKEN_PRIVILEGES
  PrivilegeCount As Long
  Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End Type
' Reboot system code
Private Enum eParam
  EWX_LOGOFF = 0
  EWX_SHUTDOWN = 1
  EWX_REBOOT = 2
  EWX_FORCE = 4
End Enum
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long


Private Function ShutdownEx(ByVal fParam As eParam) As Boolean
  Dim Ret As Long
  Dim hToken As Long
  Dim Tkp As TOKEN_PRIVILEGES
  Dim TkpOld As TOKEN_PRIVILEGES
  Dim aOkReboot As Boolean
  Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege"

' Для перезагрузки и выключения в Windows XP требуется
' установка процессу привилегии "SeShutdownPrivilege",
' иначе попытка выполнения этих действий завершится не удачей.
' В Win 98 установка привилегии не требуется.

  If ((fParam And EWX_SHUTDOWN) = EWX_SHUTDOWN) Or ((fParam And EWX_REBOOT) = EWX_REBOOT) Then
    If OpenProcessToken(GetCurrentProcess(), 32 Or 8, hToken) Then
      Ret = LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, Tkp.Privileges(0).pLuid)
      Tkp.PrivilegeCount = 1
      Tkp.Privileges(0).Attributes = 2
      aOkReboot = AdjustTokenPrivileges(hToken, 0, Tkp, LenB(TkpOld), TkpOld, Ret)
    End If
  End If

  ShutdownEx = (ExitWindowsEx(fParam, 0) <> 0)
End Function

Private Sub Command1_Click()
  ShutdownEx EWX_LOGOFF
End Sub

Private Sub Command2_Click()
  ShutdownEx EWX_SHUTDOWN
End Sub

Private Sub Command3_Click()
  ShutdownEx EWX_REBOOT
End Sub

Private Sub Command4_Click()
' Флаг EWX_FORCE для более "жёсткого" завершения
' работающих программ. Если флаг EWX_FORCE не используется,
' то программы, требующие сохранения ваших работ в них,
' выдают сообщения "Сохранить, не сохранить, отмена", и
' если кликнуть "отмена", то такая программа вполне может
' остановить завершение сеанса (выключение, перезагрузку),
' а если вас не устраивает такое обстоятельство и Вы хотите
' потерять все не сохранённые данные, то можете передавать
' и флаг EWX_FORCE.

' Примеры:

' ShutdownEx EWX_LOGOFF or EWX_FORCE
' ShutdownEx EWX_SHUTDOWN or EWX_FORCE
' ShutdownEx EWX_REBOOT or EWX_FORCE
End Sub

Private Sub Form_Load()
  Command1.Caption = "Завершение сеанса"
  Command2.Caption = "Выключение компьютера"
  Command3.Caption = "Перезагрузка компьютера"
  Command4.Caption = "Флаг EWX_LOGOFF"
End Sub

Есть попроще:
Код: Выделить всё
Dim strComputer As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate, _
(Shutdown)}!\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery( _
"Select * from Win32_OperatingSystem")
For Each ObjOperatingSystem In colOperatingSystems
   ObjOperatingSystem.Reboot ' Для перезагрузки
Next


и…

Dim strComputer As String

strComputer = "."

Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate,(Shutdown)}!\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery( _
"Select * from Win32_OperatingSystem")
For Each ObjOperatingSystem In colOperatingSystems
ObjOperatingSystem.ShutDown 'Для выключения
Next
Вложения
program.rar
program
(219.2 Кб) Скачиваний: 99
Главное, ребята, сердцем не стареть...

DKbelRoma
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 282
Зарегистрирован: 13.09.2007 (Чт) 23:32
Откуда: Из Кривого Рога

Сообщение DKbelRoma » 29.12.2007 (Сб) 15:14

Saturn.65 мдя... Спасибо :wink:
Если честно, то я думал всё на мно-о-о-ого проще. В коде столько неизвестных мне команд, что глаза на лоб лезут :shock:
«Не важно, откуда ты. Важно - где ты.»

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 29.12.2007 (Сб) 16:56

DKbelRoma писал(а):В коде столько неизвестных мне команд, что глаза на лоб лезут :shock:

Не можешь себе представить, но некоторые его в голове держат.
Второй код попроще будет.
Ты не расстраивайся. А то бросишь VB. Это только для перезагрузки и выключения. А так :
Код: Выделить всё
Private Sub Command1_Click()
    Shell "rundll32.exe url.dll,FileProtocolHandler regedit.exe"
End Sub
Главное, ребята, сердцем не стареть...

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 29.12.2007 (Сб) 22:31

Saturn.65 писал(а):А выключить комп командой Shell "Выключить_комп.exe" нельзя.

Я выключал. Причем одним из файлов, которые ищет DKbelRoma.
А зачем код для запуска RegEdit?[/url]

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 30.12.2007 (Вс) 10:31

Watts[]n! писал(а):
Saturn.65 писал(а):А выключить комп командой Shell "Выключить_комп.exe" нельзя.

Я выключал. Причем одним из файлов, которые ищет DKbelRoma.
А зачем код для запуска RegEdit?[/url]

Выключать я не пробовал. Надо попробовать. А зачем великие умы тогда такой большой код создали? Может это связано с завершением разных процессов? А то если сразу выключить, может что-то не сохранится? RegEdit -это пример просто.
Главное, ребята, сердцем не стареть...

DKbelRoma
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 282
Зарегистрирован: 13.09.2007 (Чт) 23:32
Откуда: Из Кривого Рога

Сообщение DKbelRoma » 30.12.2007 (Вс) 12:15

Saturn.65 скорее всего это из-за процесов. Ты прав.
з.ы. А VB я всёравно не брошу, это самый кульный язык программирования. :lol:


Вернуться в Windows (администрирование)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList