1.다음과 같이 DLL을 로딩하여 DLL내의 함수를 호출하는 코드를 작성합니다.

    public class FileFilter
    {
        [DllImport("EurekaFilter.dll", CharSet = CharSet.Auto)]
        public static extern bool Doc2Txt(
            byte[] filename
            );

        public FileFilter()
        {
        }

         public string GetTextByFile(string filePath)
        {
            string s = "";

            byte[] FilePathByte = new byte[filePath.Length * 2 + 10];
            FilePathByte = Encoding.Default.GetBytes(filePath);
            string[] ext = filePath.Split('.');
            Doc2Txt(FilePathByte);     // DLL내의 함수를 닷넷처럼 호출한다.

            .....
        }
    }

2. 로딩할 DLL을 서버에 폴더를 만들어 복사하여 놓는다.
   (주의 : C++, C는 DLL이 동작하기 위해서 다른 참조 DLL이 필요한 경우가 대부분임.(mfc.dll 등) 이 DLL로 함께 복사할 것)

3. 만들어진 폴더을 다음과 같이 코딩 하여 환경 변수에 추가한다.

   // global.asax파일에서 코딩을 한다.

    void Application_Start(object sender, EventArgs e)
    {
        // 응용 프로그램이 시작될 때 실행되는 코드입니다.
        String _path = String.Concat(System.Environment.GetEnvironmentVariable("PATH"), ";", @"D:\CPlusDll");
        System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    }

4. 첨부내역(샘플)
- 첨부파일에서 텍스트만 추출하는 방법(샘플코드) : FileFilter.cs
- 참조하는 파일 : 사이냅 필터.zip
- MFC참조파일 : mfcDLL.zip
- 2개의 zip파일은 컴파일시 필요로 하지 않음.
  (단, 동작시 같은 디렉토리에 있거나 위 3번에서 설정한 디렉토리에 존재해야 함.)

'temp' 카테고리의 다른 글

이 애플리케이션은 특정 OS에서도 돌아가나요?  (0) 2010.06.08
jquery  (0) 2010.06.08
블로그 이미지

란마12

,

- NetBIOS연결을 위해 컴퓨터명으로 목적지 컴퓨터에 접속(예: 실행창에서 \\목적지컴퓨터명)
- NetBIOS연결목록을 조회하기 위해 커맨드창에서 nbtstat -S

'etc' 카테고리의 다른 글

FTP vs HTTP  (0) 2011.04.14
파일날짜 변경 시점  (0) 2010.07.09
MSComm32.ocx 라이센스 등록  (0) 2010.06.18
배치파일  (0) 2010.06.18
원격데스크탑 클립보드 공유  (0) 2010.03.17
블로그 이미지

란마12

,
- ClipBook, Network DDE, Network DDE DSDM 서비스 시작.
- 원격지 컴퓨터는 하지 않아도 됨.
- 기 연결된 원격데스크탑은 재연결해야 함.

'etc' 카테고리의 다른 글

FTP vs HTTP  (0) 2011.04.14
파일날짜 변경 시점  (0) 2010.07.09
MSComm32.ocx 라이센스 등록  (0) 2010.06.18
배치파일  (0) 2010.06.18
컴퓨터명으로 IP알아내기  (0) 2010.04.19
블로그 이미지

란마12

,