![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Проблема с переменной |
|
C/C++ - [решено] Проблема с переменной
|
![]() Старожил Сообщения: 284 |
Столкнулся с такой проблемой.
При снятия аттрибута функция на файл ссылается А при блокировки файла функция по тому же пути не ссылается! #include <windows.h> #include <tchar.h> #include <stdio.h> TCHAR* envVarStrings[] = { // ващи пути которые будут указанны в работе TEXT("%TEMP%"), TEXT("%SystemDrive%") }; #define ENV_VAR_STRING_COUNT (sizeof(envVarStrings)/sizeof(TCHAR*)) #define INFO_BUFFER_SIZE 32767 void printError( TCHAR* msg ); using namespace std; int main() { DWORD i; TCHAR infoBuf[INFO_BUFFER_SIZE]; DWORD bufCharCount = INFO_BUFFER_SIZE; HANDLE hAppend; DWORD dwBytesRead=10, dwBytesWritten=10, dwPos=0; system ("attrib -r -s -h %SystemDrive%\\boot.ini"); // работает путь hAppend = CreateFile(TEXT("%SystemDrive%\\boot.ini"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); // не работате путь, но если указать C: то работает int k=0; while(k!=1) UnlockFile(hAppend, dwPos, 0, dwBytesRead, 0); return 0; } void printError( TCHAR* msg ) { DWORD eNum; TCHAR sysMsg[256]; TCHAR* p; eNum = GetLastError( ); FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, eNum, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), sysMsg, 256, NULL ); // Trim the end of the line and terminate it with a null p = sysMsg; while( ( *p > 31 ) || ( *p == 9 ) ) ++p; do { *p-- = 0; } while( ( p >= sysMsg ) && ( ( *p == '.' ) || ( *p < 33 ) ) ); // Display the message _tprintf( TEXT("\n\t%s failed with error %d (%s)"), msg, eNum, sysMsg ); } } |
|
Отправлено: 13:42, 18-06-2012 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Цитата O L E G:
Цитата O L E G:
|
||
Отправлено: 14:06, 18-06-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать ммм а как мне указать его на открытие, а не на создание(
|
------- Отправлено: 14:51, 18-06-2012 | #3 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать тут слова создаете файл, относятся к названию функции CreateFile, а с данными параметрами она открывает существующий файл
|
Отправлено: 15:15, 18-06-2012 | #4 |
![]() Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать вы конечно извените меня но перепробовал все варианты и все так же, вероятно это я додумать не могу что и как
файл у меня существует но его не открывает hAppend = CreateFile(TEXT("%SystemDrive%\\boot.ini"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);// не раб hAppend = (TEXT("%SystemDrive%\\boot.ini"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); // не раб hAppend = (("%SystemDrive%\\boot.ini"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); // не раб hAppend = CreateFile(TEXT("C:\\boot.ini"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); // раб |
|
------- Отправлено: 15:33, 18-06-2012 | #5 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:04, 18-06-2012 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. | NiOl | Скриптовые языки администрирования Windows | 7 | 31-01-2019 19:58 | |
CMD/BAT - поиск в переменной спецсимволов | vosya | Скриптовые языки администрирования Windows | 1 | 05-01-2012 01:27 | |
7 / 2008 R2 - [решено] Проблема при создании переменной DiskRoot | zatar | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 4 | 22-12-2011 22:15 | |
[решено] Проблема с переменной Temp | Alex007 | Автоматическая установка Windows 2000/XP/2003 | 7 | 31-08-2006 08:19 | |
js имя объекта из переменной, как? | Вебмастеру | 13 | 15-03-2005 07:22 |
|