Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type

    Dim hTaskbar As Long
    Dim rTaskbar As RECT
    Dim sClass As String
    sClass = "Shell_TrayWnd"
    hTaskbar = FindWindow(sClass, "")
    GetWindowRect hTaskbar, rTaskbar
2007/12/15 22:08 2007/12/15 22:08
Posted by 인생을 설계하는 프로그래머

이 글을 보는 모든 프로그래머에게 엄청나게 유용한 프로그램을 소개한다.

바로 API-Guide..
물론 아는 사람들도 많겠지만, 프로그래머를 바보로 만드는 유명한 프로그램이라 소개한다.

비주얼베이식 프로그래머들의 고질적인 단점이 뭘까...
바로.. Win32 API 가 뭔지도 모른다는거다. 비베의 한계를 뛰어넘기 위해서는
Win32 API를 써야 함에도 불구하고 많은 후잡 프로그래머들은 비베의 한계를 느끼고
프로그래밍을 접거나, MFC 쪽으로 넘어가고 만다.

이 글을 쓰고 있는 나도 고등학생때까지 비베에서 API라는 걸 쓰는 건 알고 있었지만
어떻게 써야 하는지 전혀 몰랐다.

자.. 여기 그런 프로그래머들을 위한 프로그램을 소개한다.
API Guide 는 약 1000개정도의 비주얼 베이식에서 사용할 수 있는 API를 간편하게 정리해놓은
프로그램이다. 물론 덤으로 그에 따른 예제까지 실어주고 있다.

너무 좋아하지는 마라..

이런 프로그램.. 예를 들어 VA(Visual Assistance)와 같이 프로그래머의 손을 더 쉽게 해주는 프로그램을 많이 쓰면 어느 순간에 그런것들이 없으면 프로그래밍이 불가능한 바보가 될지도 모르니깐... 정말 모를때만 쓰고 왠만하면 MSDN을 참고하는 습관을 들이자.

MSDN에는 API가 C 문법 위주로 나와 있는데 데이터 형만 잘 이해하고 있다면
Visual Basic에서도 얼마든지 사용 가능하다.

이상!

2007/12/15 21:29 2007/12/15 21:29
Posted by 인생을 설계하는 프로그래머
비주얼 베이식에서 웨이브 정보 추출

[CODE type=vb] Public Type wave_header wavRIFFChunk As String * 4 wavSize As Long wavWaveChunk As String * 4 wavFMTChunk As String * 4 wavFormatSize As Long wavPCMFormatFlag As Integer wavChannel As Integer wavSampleRate As Long wavSampleRatePerSec As Long wavPerSecScale As Integer wavBits As Integer wavDataChunk As String * 4 wavDataSize As Long End Type Open txtFile1.Text For Binary As #1 Get #1, , openFile1 If openFile1.wavPCMFormatFlag <> 1 Then MsgBox "표준 PCM 웨이브 파일이 아닙니다.", vbOKOnly + vbInformation, "확인" Close #1 txtFile1.Text = "" Exit Sub End If MCI.Command = "stop" MCI.Command = "close" tinfo = "RIFF Chunk : " & openFile1.wavRIFFChunk & vbCrLf & _ "Size : " & openFile1.wavSize & vbCrLf & _ "Wave Chunk : " & openFile1.wavWaveChunk & vbCrLf & _ "FMT Chunk : " & openFile1.wavFMTChunk & vbCrLf & _ "Format Size : " & openFile1.wavFormatSize & vbCrLf & _ "PCM Format Flag : " & openFile1.wavPCMFormatFlag & vbCrLf & _ "Channels : " & openFile1.wavChannel & vbCrLf & _ "Sample Rate : " & openFile1.wavSampleRate & vbCrLf & _ "Sample Rate/sec : " & openFile1.wavSampleRatePerSec & vbCrLf & _ "Per sec Scale : " & openFile1.wavPerSecScale & vbCrLf & _ "Bits per Sample : " & openFile1.wavBits & vbCrLf & _ "Data Chunk : " & openFile1.wavDataChunk & vbCrLf & _ "Data Size : " & openFile1.wavDataSize lblInformation1.Caption = tinfo zNumSample1 = openFile1.wavDataSize / (openFile1.wavChannel * (openFile1.wavBits / 8)) lblWating1.Visible = True DoEvents ReDim WaveData1(openFile1.wavChannel, zNumSample1) 'reading data For i = 0 To zNumSample1 - 1 For j = 0 To openFile1.wavChannel - 1 If openFile1.wavBits = 8 Then Get #1, , sdata8 WaveData1(j, i) = sdata8 Else Get #1, , sdata16 WaveData1(j, i) = sdata16 End If Next Next lblWating1.Visible = False Close #1 [/CODE]
2007/04/09 14:27 2007/04/09 14:27
Posted by 인생을 설계하는 프로그래머

Where's my App.Path in VB.NET?


ID: 1064
Author: Abstractvb.com
Date: 9/15/2002 12:59:10 PM
VB.NET

Description

The APP Object no longer exists in VB.NET, so calling App.Path to get the location of your application does not work. Thankfully there are many other ways to do this in VB.NET, here are a few.

NOTE: Some of these will only work for forms and not DLL's without any UI. The first two that reference the System.Windows.Forms namespace will not work in a DLL with no UI.

Code

Here are a few examples: (I'm sure there are more.)

System.Windows.Forms.Application.ExecutablePath
System.Windows.Forms.Application.StartupPath
System.AppDomain.CurrentDomain.BaseDirectory()
System.GetEntryAssembly().Location

2006/07/20 16:51 2006/07/20 16:51
Posted by 인생을 설계하는 프로그래머

BLOG main image
by 인생을 설계하는 프로그래머

카테고리

Life Designer (134)
컴퓨터공학박사 (80)
세상 (19)
건강한 삶 (8)
I Love Korea (2)
海兵隊 (3)
Common Sense! (4)
Game is Life! (11)
Life of Digital (4)
추억으로의 여행 (0)
애마 카돌이! (1)
세상속으로! (1)

글 보관함

달력

«   2010/03   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Total : 156975
Today : 28 Yesterday : 100