질문과 답변

기 타 심심풀이로 만들고 있는데 질문있어요 vb.net

2022.05.15 20:29

코코당 조회:364

심심해서 프로그램 짜기 해 보는 중이에요

초보입니다. vb.net 입니다. 

그냥 두뇌 회전용으로 하는것인데 만들다 보니 점점 깊이 들어가는것 같네요.

 

문제는

디스크 정보에서 diskid 와 volumeid  를 매치 시키는 것 자료를 못구했어요

결국은 powershell로 받아서 처리했는데

어떻게 하면 두 개를 매치 시킬수 있는지요.

 

win32_volume wim32_disk 등등 아무리 뒤져봐도 두개를 매치 못시키겟어요.

결국은 우연히 파워셀용이 잇어서

 

Get-Partition | Select-Object DiskNumber, type, @{n='VolumeID';e={$_.AccessPaths | Where-Object { $_ -like '\\?\volume*' }}}, DriveLetter

이것은 diskid volumeid 가 쉽게 매치되는데

 

vb용은 자료가 어디 없을까요

몬가 되었다 싶으면 하나가 안되고 괜히 더 호기심이 유발되서

 

파티션을 각 버튼에 위치를 정하고 버튼을 누르면 파티션 활성화/비활성화 <<-- 이것때문에 힘듬 

wim 파일은 버튼위에 끌어넣기 하면 해당 드라이브에 풀리고

링크/wim  만들기 되고 

vhdx 열면 자동으로 인식되고 (usb 인식)

이런 기능을 만들고 있거든요 현재 흉내수준은 이에요

기본적인 것들은 vb랑 vbs 활용해서 되는데 

그림처럼 파티션을 나열하려면 diskid 랑 volumeid 같은 매치되는게 없어요

현재 파워셀용은  콘솔 모드로 vb.net에서 받아서 활용해요

근데 간혹 파워셀용이 실패하거나 느려요.. 그래서 문제임 

 

질문 :

win32_volume volumeid 구할수 있고

win32_disk 등 물리, 논리 정보 확인가능

문제는 두개를 연결시킬 무언가를 모르겟네요.

질문이 좀 횡설수설은 그 무언가를 모르니 말을 어찌 할지 몰라서...

부탁드립니다.

 

그림상태는 빨간색 : 부팅 파티션, 노란색은 usb 그리고 eft 파티션 구분한거입니다.

빈버튼은 비활성화 상태의 파티션 또는 vhdx

222.png

 

 

 

XE1.11.6 Layout1.4.8