****************************
华软源码:http://www.hur.cn
****************************
<SCRIPT SRC="/wavemaster.internal/v4.1/tools/cookie.js"></SCRIPT>
<HTML>
<HEAD>
<STYLE TYPE="text/css"><!--
.hw-annotation { text-decoration: none; color: black; background:#f3ca81; font-weight: bold; }
--></STYLE>
<META NAME="ObjectID" CONTENT="0x000000d4">
<META NAME="Type" CONTENT="Document">
<META NAME="DocumentType" CONTENT="text">
<META NAME="Author" CONTENT="gnagler">
<META NAME="TimeCreated" CONTENT="1998/06/15 07:50:23">
<META NAME="TimeModified" CONTENT="1998/06/15 07:52:43">
<META NAME="Title" CONTENT="en:Embedding GN-Tools in Visual BASIC 5.0">
<META NAME="Name" CONTENT="vbplugin.txt">
<META NAME="MimeType" CONTENT="text/htf">
<META NAME="Path" CONTENT="DC0x000d9dc5 0x000007e1">
<META NAME="Parent" CONTENT="Cpub">
<META NAME="GOid" CONTENT="0x811bc833_0x00584b38">
<TITLE>Embedding GN-Tools in Visual BASIC 5.0</TITLE>
<BASE HREF="http://www2.iicm.edu/vbplugin.txt">
</HEAD>
<BODY alink="#0b134c" bgcolor="#ffffff" link="#1829a5" text="#000000" vlink="#0b134c">
<SCRIPT>
<!--
window.defaultStatus = "Hyperwave - Organize your future - You are logged in as guest !"
// -->
</SCRIPT>
<SCRIPT>
<!--
function ba(bu) {
}
function bia(bu,num) {
}
// -->
</SCRIPT>
<TABLE WIDTH="600" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD><A
HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=_identify.action" ONMOUSEOVER="ba('li');window.status='Login at the Hyperwave server as an identified user';return true" ONMOUSEOUT="bia('li','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_login1.gif;internal&inline=true" ALT="Login" BORDER="0" WIDTH="66" HEIGHT="18" NAME="li"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_edit0.gif;internal&inline=true" ALT="Edit-login first" BORDER="0" WIDTH="48" HEIGHT="18" NAME="ed"><A
HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=extended.search.action" ONMOUSEOVER="ba('se');window.status='Start a Hyperwave Search';return true" ONMOUSEOUT="bia('se','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_search1.gif;internal&inline=true" ALT="Search" BORDER="0" WIDTH="67" HEIGHT="18" NAME="se"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_annotate0.gif;internal&inline=true" ALT="Annotate-login first" BORDER="0" WIDTH="82" HEIGHT="18" NAME="an"><A
HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=preferences.action" ONMOUSEOVER="ba('pf');window.status='Set your preferences for a Hyperwave session';return true" ONMOUSEOUT="bia('pf','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_preferences1.gif;internal&inline=true" ALT="Preferences" BORDER="0" WIDTH="101" HEIGHT="18" NAME="pf"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_admin0.gif;internal&inline=true" ALT="Admin" BORDER="0" WIDTH="62" HEIGHT="18" NAME="ad"><A
HREF="http://www2.iicm.edu/wavemaster.internal/applications/navigationexplorer_en.html?object=%2Fvbplugin.txt" ONMOUSEOVER="ba('na');window.status='Go to the Hyperwave navigation aids start page';return true" ONMOUSEOUT="bia('na','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_navi1.gif;internal&inline=true" ALT="Navigation aids" BORDER="0" WIDTH="51" HEIGHT="18" NAME="na"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_space.gif;internal&inline=true" WIDTH="13" HEIGHT="18" NAME="space"><A
HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=_help.action" ONMOUSEOVER="ba('he');window.status='Get Help on Hyperwave features';return true" ONMOUSEOUT="bia('he','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_help1.gif;internal&inline=true" ALT="Help" BORDER="0" WIDTH="51" HEIGHT="18" NAME="he"></A><A
HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=about.action" ONMOUSEOVER="window.status='About Hyperwave';return true"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/mm_logo1.gif;internal&inline=true" ALT="About Hyperwave" BORDER="0" WIDTH="59" HEIGHT="18" NAME="logo"></A></TD></TR>
<TR>
<TD><A
HREF="http://www2.iicm.edu/rootcollection" ONMOUSEOVER="ba('ho');window.status='Go to the global Hyperwave homecollection on the server';return true" ONMOUSEOUT="bia('ho','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_ho1.gif;internal&inline=true" ALT="Global Home Collection" BORDER="0" WIDTH="48" HEIGHT="18" NAME="ho"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_ph0.gif;internal&inline=true" ALT="Private Home - login first" BORDER="0" WIDTH="30" HEIGHT="18" NAME="ph"><A
HREF="http://www2.iicm.edu/Cpub" ONMOUSEOVER="ba('up');window.status='Go one level up to the parent of the current document';return true" ONMOUSEOUT="bia('up','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_up1.gif;internal&inline=true" ALT="Up one level" BORDER="0" WIDTH="30" HEIGHT="18" NAME="up"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_space.gif;internal&inline=true" WIDTH="30" HEIGHT="18"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_space.gif;internal&inline=true" WIDTH="30" HEIGHT="18"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_space.gif;internal&inline=true" WIDTH="120" HEIGHT="18"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_space.gif;internal&inline=true" WIDTH="180" HEIGHT="18"><A
HREF="http://www2.iicm.edu/vbplugin.txt?hyperwave=action%3dplain.action" ONMOUSEOVER="ba('hf');window.status='Disable the Hyperwave header and footer for this document';return true" ONMOUSEOUT="bia('hf','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_hf1.gif;internal&inline=true" ALT="Header/Footer off" BORDER="0" WIDTH="30" HEIGHT="18" NAME="hf"></A><A
HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=attributes.action" ONMOUSEOVER="ba('at');window.status='Show the Hyperwave attributes for the current document';return true" ONMOUSEOUT="bia('at','1')"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_at1.gif;internal&inline=true" ALT="Show Attributes" BORDER="0" WIDTH="30" HEIGHT="18" NAME="at"></A><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_space.gif;internal&inline=true" WIDTH="17" HEIGHT="18"><A HREF="http://www2.iicm.edu/vbplugin.txt;internal&action=about.action" ONMOUSEOVER="window.status='About Hyperwave';return true"><IMG
SRC="http://www2.iicm.edu/v4.1/m/en/me_logo1.gif;internal&inline=true" ALT="About Hyperwave" BORDER="0" WIDTH="55" HEIGHT="18"></A></TD></TR>
</TABLE>
<P> </P>
<H1>Subject: Embedding GN-Tools in Visual BASIC 5.0
</h1><pre>From: "Open Mind Productions" <openmind@bigfoot.com>
A while ago I promised to send you the code to embed your tools in Visual
BASIC.
Well, here it is !
As an example I use MIDINOTE, but it should work with all DOS executables.
--------------------------------------------------------------------
' Change the work directory to the application directory
' midinote.exe should be located there !
ChDir App.Path
' Copy the original midi-file to the work-file "temp.mid"
' This solves the long filename problem for DOS
FileCopy lblFileName.Caption, App.Path & "\temp.mid"
' Create a batch file to run midinote.exe
Open App.Path & "\PlugIn.bat" For Output As #1
Print #1, "midinote -values temp.mid > output.tmp"
Print #1, "copy output.tmp 0.tmp"
Close #1
' Run the PlugIn batch file
runPlugin = Shell(App.Path & "\PlugIn.bat", vbHide)
' Make the Visual BASIC application wait for "0.tmp" to be created.
' This means that the batch file has finished and "output.tmp" has been
created.
On Error GoTo plugInWait
plugInReady:
Open App.Path & "\0.tmp" For Input As #1
Line Input #1, xx1
Close #1
Kill App.Path & "\0.tmp"
Kill App.Path & "\temp.mid"
GoTo startProcessing
plugInWait:
Close #1
Resume plugInReady
startProcessing:
' This is where you can put code to process "output.tmp"
...
...
...
...
' Erase "output.tmp" when it's not needed anymore
Kill App.Path & "output.tmp"
--------------------------------------------------------------------
This code can be copied directly into a VB application.
I hope the embedded comment lines will do.
Thanks for your gr