sailingby Ответов: 2

У меня есть устаревшее приложение VB6, которое я должен импортировать в visual studio 2016. Writeprofilestring вызывает проблему.


У меня есть устаревшее приложение VB6, которое я должен импортировать в Visual Studio 2016. Я должен написать в файл win.ini - для последующего использования другим приложением, которое настаивает на получении информации из этого файла.

WriteProfileString успешно сделает запись в файл win.ini при условии, что раздел не называется [windows] - если это так, то ничего не происходит, никаких ошибок, но и записи тоже нет. Если я изменю название раздела на [window] (или что-то еще), он будет работать нормально.

Есть какие-нибудь предложения по поводу причин и какие-то решения? Спасибо

'-----------------------------КОД---------------------------------

Вызовите WritePrivateProfileString("windows", "Device", strDeviceLine)

Частная объявить функции WritePrivateProfileString либерал "на kernel32" Alias "ведется командами WritePrivateProfileStringA" (lpszSection бывал, как струна, lpszKeyName бывал, как струна, lpszString бывал как строка) как долго

'-----------------------------КОД---------------------------------

Что я уже пробовал:

Я также пробовал WritePrivateProfileString с аналогичными результатами.

Richard Deeming

NB: AFAIK, нет такой вещи, как "Visual Studio 2016". Был 2015, 2017 и 2019 годы. :)

2 Ответов

Рейтинг:
2

CHill60

Далее, чтобы ответить на Дэйва

Цитата:
Нетрудно создать класс, который мог бы хранить и манипулировать содержимым файла в памяти, а затем записывать его обратно на диск, когда вам это нужно.
см. эту статью о проекте кода - Использование класса IniFile VB.NET[^] в качестве отправной точки


Рейтинг:
0

Dave Kreskowiak

Вам не нужны функции ProfileString. Вы можете просто прочитать/записать файл самостоятельно, используя обычные методы текстового файла. Нетрудно создать класс, который мог бы хранить и манипулировать содержимым файла в памяти, а затем записывать его обратно на диск, когда вам это нужно.

выигрыш.INI-файл не использовался никем со времен Windows 3.x, более 20 лет назад. Он все еще был там для обратной совместимости для 16-битных версий в дни Windows 9x, но это все.

Теперь вы можете запускать только 16-битные приложения на 32-битной Windows.

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