win32 콘솔 프로그램에 MFC로 GUI를 만들어 입히는 중 문제가..

ckistyle의 이미지

오픈 소스 NMAP에 MFC로 GUI를 만들어 입히는 중 문제가 생겼어요..

gui 프로젝트를 따로 만든 뒤 (메시지 처리 함수는 선언만)

nmap 프로젝트에 추가하고

시작 프로젝트를 gui로 설정하고

아무런 연동을 하지 않은 상태에선 우선 컴파일 ok

그런데 그 다음이 문제.....

gui에서 받은 명령문을 nmap의 main()에 전달 해주고 출력 결과는 다시 gui로 받자~ 하고 시작했는데

처음 해보는 거라 생각보다 너무 어렵네요...

도와주세요...
----------------------------------( 수정 )--------------------------------------------
bejoy4him님 감사합니다~
제가 봐도 제 질문은 요점이 명확하지 않았네요
사실 글을 올리면서도 정확히 표현할 말을 찾지 못해서
이렇게 두리뭉실하게 글을 올릴 수 밖에 없었죠;;

제 질문은 "nmap의 함수들을 export하고 GUI쪽에서 라이브러리처럼 읽는 방법"에 관한 것이었습니다

bejoy4him님 외 제 답답한 글을 보고 기분 상하신 다른 분들께 정말 죄송합니다 ^^;;
.
.
.
.
.


bejoy4him의 이미지

흠.. 이 질문을 본인이 읽었다고 생각해보세요...
본인이라면 이 글을 읽고 원하는게 뭔지 쉽게 알수 있을까요?

저는 언어 능력이 떨어져서 그런지
한번 읽어서는 뭘 원하는 질문인지 알수가 없네요

질문을 올리기 전에 자신이 궁금한 것이 어떤 것인지 명확히 정리하고
그 내용을 물어보세요...

nmap의 함수들을 export하고 GUI쪽에서 라이브러리처럼 읽는 방법을 알려달라는 건지
아님 콘솔 프로그램과 GUI프로그램 사이의 메시지 교환을 하는 방법으로 어떤 것이 있는지 설명해 달라는 건지..
아님 다 짜달라는건지....

평소라면 그냥 무시하고 넘어갈텐데
짜증이 좀 난 상태라... 답글을 달게되는 군요..

ckistyle의 이미지

.

drinkme의 이미지

nmap이 뭐하는 것인지는 모르겠지만,
nmap의 함수 중에 export하고 싶은 것만 export하고,
nmap을 DLL로 생성하세요.
GUI app에서는 nmap DLL을 LoadLibrary()해서 사용하시면 될 듯 합니다.

ktd2004의 이미지

nmap은 열려진 포트를 scan 하는 프로그램인것 같은데요..

pipe를 사용해서 nmap을 실행시키고,
해당 파이프에서 출력을 읽어서 GUI에 표시하시면 어떨까요?

ckistyle의 이미지

이렇게 GUI를 만들면 매우 깔끔하게 만들 수 있을거 같아서

관련 정보를 여기 저기 찾아보고 있는 중 입니다~

더 자세한 정보 아시면 부탁드립니다

라이브러리 함수 이름이나... 자세한 정보가 나와있는 웹페이지 같은 것 부탁드립니다~

ktd2004의 이미지

http://msdn.microsoft.com/ko-kr/library/96ayss4b.aspx

위 예제는 MSDN에 있는 popen 함수의 사용 예입니다.
위와 비슷하게 되지 않을까요??.

ckistyle의 이미지

저에게 큰 도움이 되었습니다
몇 일동안 삽질(^^:)한 피로감이 한번에 사라졌습니다
저도 MSDN 열심 찾아봤는데 왜 못 찾았는지... ㅠㅠ

도움 감사합니다~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.