Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 15:55   #1
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию Создать файл

Пишу програмку которая в назначенное время вырубает комп. Столкнулся с вопросом-как заставить прогу создавать батник самостоятельно? Потому как при портировании таскаться с батником не очень удобно. Или уж совсем смелая мечта-можно ли запустить cmd с заданным параметром? Заранее спасибо.
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Старый 28.07.2010, 16:04   #2
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

вам нужна такая прога?

cmd с заданным параметром можно. в cmd пишется %1 и вместо этих символов автоматом вставляется введённый параметр.
Вложения
Тип файла: rar exit.rar (137.1 Кб, 7 просмотров)
если чем помог, поставьте отзыв на весы

Последний раз редактировалось Xatr; 28.07.2010 в 16:06.
Xatr вне форума Ответить с цитированием
Старый 28.07.2010, 16:12   #3
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию

Вы меня немножко не поняли =) Сама программа уже есть (если интересно проект (Delphi) приложен).
Нужна процедура создания файла с заданным именем в директории с программой.
Вложения
Тип файла: rar logoff.rar (230.5 Кб, 7 просмотров)
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Старый 28.07.2010, 17:33   #4
Xatr
Форумчанин
 
Аватар для Xatr
 
Регистрация: 17.09.2008
Сообщений: 349
По умолчанию

можно так:
Код:
var a:Text;
begin
AssignFile(a,'1.cmd');
RewriteFile(a);
Write(a,'shutdown -s -t 100 -c "Проверка" -f');
CloseFile(a);
запустить файл:
Код:
uses shellapi;
shellexecute(0,'open','1.cmd',nil,nil,sw_minimize);
но вот только для чего? Если можно организовать выключение из проги и не использовать cmd файлы...
если чем помог, поставьте отзыв на весы

Последний раз редактировалось Xatr; 28.07.2010 в 17:37.
Xatr вне форума Ответить с цитированием
Старый 28.07.2010, 18:26   #5
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Зачем CMD юзать, если есть API с помощью которых комп легко выключается?
Код:
Structure MyLUID 
  LowPart.l 
  HighPart.l 
  Attributes.l 
EndStructure 
  
Structure MyTOKEN 
  PrivilegeCount.l 
  LowPart.l 
  HighPart.l 
  Attributes.l 
EndStructure

Procedure PowerOff() ; Выключение компьютера
  hdlProcessHandle.l 
  hdlTokenHandle.l 
  tmpLuid.MyLUID 
  tkp.MyTOKEN 
  tkpNewButIgnored.MyTOKEN 
  lBufferNeeded.l 
  hdlProcessHandle = GetCurrentProcess_() 
  OpenProcessToken_(hdlProcessHandle, #TOKEN_ADJUST_PRIVILEGES | #TOKEN_QUERY, @hdlTokenHandle) 
  SysName.s=""+Chr(0) 
  Name.s="SeShutdownPrivilege"+Chr(0) 
  Erg.l=LookupPrivilegeValue_(SysName, Name, @tmpLuid) 
  tmpLuid\Attributes = #SE_PRIVILEGE_ENABLED 
  tkp\PrivilegeCount = 1  
  tkp\LowPart = tmpLuid\LowPart 
  tkp\HighPart = tmpLuid\HighPart 
  tkp\Attributes = tmpLuid\Attributes 
  Erg.l = AdjustTokenPrivileges_(hdlTokenHandle,0,@tkp,SizeOf(MyTOKEN),@tkpNewButIgnored,@lBufferNeeded) 
  Erg.l = ExitWindowsEx_((#EWX_SHUTDOWN |#EWX_POWEROFF | #EWX_FORCE), 0) 
EndProcedure 

If MessageRequester("", "Выключить комп?", #MB_YESNO|#MB_ICONQUESTION|#MB_DEFBUTTON2) = #IDYES
   PowerOff()
EndIf
Вложения
Тип файла: rar CompOFF.rar (2.0 Кб, 5 просмотров)
*PB* вне форума Ответить с цитированием
Старый 28.07.2010, 23:10   #6
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию

Xatr огромное спасибо =) Это как раз то что нужно. Я думаю тему можно закрыть.
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать файл Asylkhan Паскаль, Turbo Pascal, PascalABC.NET 0 20.06.2010 14:03
создать файл! kot i @ Паскаль, Turbo Pascal, PascalABC.NET 0 25.05.2010 23:56
Создать файл. kot i @ Паскаль, Turbo Pascal, PascalABC.NET 12 25.05.2010 23:55
Создать файл zgest Общие вопросы C/C++ 2 30.03.2009 21:03