애드센스와이드


[.NET] vb.net(VS2010)에서 GetPrivateProfileString 사용법 VB

[Paths]
vb.net(VS2010)에서 GetPrivateProfileString 사용하는 법을 인터넷 및 MSDN에서 조회해봤는데 적절한게 없었다.

그래서, 여러가지 사이트를 참조하고 내가 갖고 있는 책을 보다보니 방법을 찾아내서 정리해서 올린다.

참고 사이트 및 자료
1. stackoverflow의 설명자료 (vb.net에서 사용법인데 2010과는 일부 안맞는 부분이 있음)
http://stackoverflow.com/questions/11238898/reading-from-an-ini-file
2. MSDN의 설명자료 (VS 4.0 이전 버전)
http://support.microsoft.com/kb/75639/ko
3. 비주얼베이직 실전 노하우의 553p

사용 툴
Microsoft Visual Studio 2010
버전 10.0
Microsoft.NET Framework
버전 4.0

GetPrivateProfileString이란?
INI파일의 섹션이름과 키명을 활용하여 키에 저장된 설정값을 불러오는 API함수
유사 함수로 WritePrivateProfileString이 있다. (이는 INI에 값을 쓰는 함수)

GetPrivateProfileString의 Structure

Private Declare Auto Function GetPrivateProfileString Lib "kernel32" (ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Integer, _
ByVal lpFileName As String) As Integer

주: 위 Structure는 VS2010의 vb.net용

사용 예제
1. form을 하나 만든다.
2. 폼의 선언부에 아래 코드를 넣는다.
Private Declare Auto Function GetPrivateProfileString Lib "kernel32" (ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Integer, _
ByVal lpFileName As String) As Integer
3. 버튼을 하나 form에 추가한다.
4. 버튼을 더블클릭해서 코드창으로 가서 해당 버튼 클릭 이벤트의 서브루틴에 아래 코드 추가한다.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Dim res As Integer
Dim sb As String
Dim intSize As Integer
sb = Space(255)
intSize = 255

res = GetPrivateProfileString("Paths", "Capture_SW", "", sb, intSize, "c:\PATH.ini")
Console.WriteLine("GetPrivateProfileStrng returned : " & res)
Console.WriteLine("KeyName is : " & sb)
Console.ReadLine()

MsgBox(res.ToString)
MsgBox(sb.ToString)

End Sub
주: 빨간 부분은 코드에서 기 생성하는 부분이므로 참고만 하고 실제 복붙할 필요는 없다.
이 부분에 대해 보완 설명이 필요한 분은 기초학습을 좀더 하셔야 함.
5. F5(디버그) 또는 실행버튼을 누른다.
6. 출력창 및 메세지 박스를 통해 키의 설정값 및 설정값의 바이트 크기를 알 수 있다.

폼의 선언부에 API함수 선언할 때 프로그램 버전마다 일부 내용이 상이하므로 이에 대한 고려가 필요함
따라서, 위 내용으로 프로그래밍을 하고 실행했는데 에러가 발생한다면 본인의 프로그램 버전이 다름을 확인해야 함


참고: PATH.ini 파일의 내용

[Paths]
Capture_SW=C:\Documents and Settings\admin\My Documents\개인문서
WordProcessor=C:\WINWORD\WINWORD.EXE
Calculator=C:\WINDOWS\CALC.EXE





덧글

댓글 입력 영역


이 이글루를 링크한 사람 (블랙)

4