PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Реакция на выключения компютера


Реакция на выключения компютера

Сообщений 1 страница 6 из 6

1

Моя программа стоящая на автозапуске с самого включения компьютера при определённом условии записывает в файл данные. Когда я выключаю компютер или в деспетчере задач завершаю процесс этой программы то, то что записано в файл должно сохранятся. Тоесть когда я запускал программу не с exeшника а в PureBasic и нажимал "Завершить программу" то все что я записал в файл сохранялось. Но когда создал из этой программы exe и аворийно её завершил нечего не сохранилось. Я записываю данные в файл таким образом:

Код:
OpenFile(0, "C:\text.txt")   
FileSeek(0, Lof(0))
z:
Sleep_(2)
WriteString(0, "qqq,")  
Goto z

.
Подскажите пожалуйста ,как сделать чтоб при аварийном завершении программы записаное в файл сохранялось?

0

2

Илья написал(а):

как сделать чтоб при аварийном завершении программы записаное в файл сохранялось

Добавь после WriteString строку:

Код:
FlushFileBuffers(0)

0

3

Илья написал(а):

Я записываю данные в файл таким образом:

Тут важнее не то каким образом, а то как твоя программа реагирует на аварийное закрытие и успевает ли она выполнить этот код при завершении работы?

0

4

То=есть твоя программа должна правильно обработать команду Винды на закрытие(#WM_QUERYENDSESSION), а именно сделать все свои дела и закрыться:

Код:
	Procedure MyWindowCallback(WindowID,Message,wParam,lParam) 
	Result=#PB_ProcessPureBasicEvents 
	If Message=#WM_QUERYENDSESSION 
	MessageRequester("WARNING","Windows is shutting down!",0) 
	EndIf 
	ProcedureReturn Result 
	EndProcedure 
	 
	If OpenWindow(0,300,350,400,200,"test",#PB_Window_SystemMenu) 
	SetWindowCallback(@MyWindowCallback()) 
	Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow 
	EndIf

0

5

Код похоже был, для 3.xx - исправил.

0

6

Да нее спасибо, я уже использовал

Код:
FlushFileBuffers(0)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Реакция на выключения компютера