参考下面的代码:
1.取得和设置当前目录(即该进程从中启动的目录)的完全限定路径。string str = System.Environment.CurrentDirectory
结果: C:\xxx\xxx
2.取得启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str = System.Windows.Forms.Application.StartupPath
结果: C:\xxx\xxx
3.取得应用程序的当前工作目录。
string str = System.IO.Directory.GetCurrentDirectory()
结果: C:\xxx\xxx
4.取得当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string str = System.AppDomain.CurrentDomain.BaseDirectory
结果: C:\xxx\xxx\
5.取得和设置包含该应用程序的目录的名称。
string str = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
结果: C:\xxx\xxx\
6.取得启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str = System.Windows.Forms.Application.ExecutablePath
结果: C:\xxx\xxx\xxx.exe
7.取得当前执行的exe的文件名。
string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
结果: C:\xxx\xxx\xxx.exe
8.取得当前进程的完整路径,包含文件名。
string str = this.GetType().Assembly.Location
结果: C:\xxx\xxx\xxx.exe
图片都存在服务器上, cs程序端也是通过URL形式访问图片,如System.Net.WebClient类可以读取远程图片, 本质上和BS结构一样,只不过BS结构是浏览器帮你实现读取远程图片这一步。当然,服务器端得架设一个web站点提供服务。
1.C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。
2.例程:
#include <winsock.h>#include <stdio.h>
WORD wVersionRequested
WSADATA wsaData
char name[255] //name里是本机名
CString ip //本机IP
PHOSTENT hostinfo
wVersionRequested = MAKEWORD( 1, 1 )
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list)
}
}
WSACleanup( )
}
// AfxMessageBox(name)//name里是本机名
// AfxMessageBox(ip) //ip中是本机IP
CStdioFile File
File.Open("C://ip.txt",CFile::modeCreate|CFile::modeReadWrite)
//如果文件事先不存在的话,就需要CFile::modeCreate,否则就不需要。
File.WriteString(ip+":"+"8000")
File.Close() //注意,这里一定要把文件关闭,否则不能成功上传
CString host="204.45.67.11"
CString user="19337"
CString password="1234567"
TRACE(":%s:%s:%s:%s/n", host,
user, password, "C://ip.txt")
CInternetSession session
(AfxGetApp()->m_pszAppName)
CFtpConnection* pConn = NULL
pConn = session.GetFtpConnection (host,user,password)
if (pConn) {
if (!pConn->PutFile("C://ip.txt","ip.txt"))
{
MessageBox("传送文件失败??")
} else {
MessageBox("传送文件成功!")
}
pConn->Close()
delete pConn
session.Close()
} else {
MessageBox("Cannot Connect")
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)