導航:首頁 > 編程語言 > 服務程序的路徑

服務程序的路徑

發布時間:2022-09-19 11:31:58

① 怎麼獲取Windows服務程序的路徑

windows索引服務是windows操作系統提供的桌面搜索引擎,通過預先創建索引來提高對硬碟上文件內容的搜索速度。以windows服務程序的方式運行。
一、工作方式
1、對指定路徑下的文件創建索引,並生成索引文件,索引文件的路徑可以指定。
2、使用時,根據索引文件進行查詢,不需要再次打開被索引的文件
二、使用方式
1、可以在windows搜索文件內容的時候指定使用索引服務,可以提高搜索速度。
2、windows索引服務對外提供DCOM等方式,可以通過COM介面訪問。
3、可以與SQL SERVER結合,通過鏈接伺服器(link server)的方式,配合SQL SERVER的全文檢索語句進行搜索。
三、特點
1、只能提供靜態摘要(文檔開頭的指定長度位元組),不能生成動態摘要(類似Google的包含關鍵字的一段文字)。
2、使用遠程的文件資源時,需要使用域名和密碼對遠程的windows共享資源進行訪問,以便建立索引。
3、被索引的文件系統發生變化,索引可以自動更新。
4、文件系統龐大時,索引文件變大,搜索性能下降。
5、創建索引時,關鍵字詞庫有限,並且不能由用戶增加新的關鍵字,會導致一些詞彙不能被搜索,例如:C++
6、因和windows系統結合,可以支持html、txt、office文件等格式,如果需要支持其他文件,可以下載或者編寫Filter,windows提供了編寫Filter的標准介面。現有可以下載的Filter除了pdf格式Filter免費外,其它Filter的Server版都是收費的,Workstation版免費。
四、其他桌面搜索引擎
1、Google桌面搜索引擎
2、網路硬碟搜索等

② 怎麼獲取Windows服務程序的路徑

你好,打開Windows任務管理器,你查看進程子菜單,查找你要查詢的應用程序對應的進程,點擊右鍵,打開文件位置即可。

③ 留給編程高手的問題

如果你是要想如何做windows服務程序的話,可以使用windows Services API族,具體步驟如下,首先連接服務控制管理資料庫使用OpenSCManager函數,然後調用CreateService函數創建服務,成功後使用RegisterServiceCtrlHandler函數注冊控制處理常式,然後通過SetServiceStatus函數設置服務狀態,這個時候就可以進入你的主程序進行處理了,當然了這個步驟是將注冊服務和處理事務都在一個程序內,如果分開的話就需要使用RegisterServiceProcess函數進行注冊了。
我以前做過一個通用的注冊服務程序,你只需將自己處理函數放在我程序指定的位置就行了。下面貼出代碼,但是這個地方自動將空格置頂,如果你覺得看的不舒服,可以訪問http://www.wyos.net獲得代碼或者直接mail我[email protected],我給你發過去。
需要補充一下,為何要有一個MsgBox()函數,因為在windows的服務程序中是沒有GUI環境的如果需要使用GUI必須手動的打開窗口站,才可以使用GUI。
===================Service.h=====================
#define WYCONST_SLEEPTIME 4000
#define WYCONST_FILEPATHSIZE 1024
#define WYCONST_MSGBOX_ERROR 65535
#define WYCONST_SERVICE_NAME "NTMService"

SERVICE_STATUS WY_SvcStatus;
SERVICE_STATUS_HANDLE WY_hSvcStatusHandle;
TCHAR WY_szBinpath[WYCONST_FILEPATHSIZE];
DWORD WY_dwCurState; //服務進程當前狀態

/*-----------------ServiceMain()----------------------*/
/*
服務入口函數
*/
VOID WINAPI ServiceMain(DWORD WY_dwArgc, LPTSTR * WY_lpszArgv);

/*-----------------ServiceContro()l--------------------*/
/*
服務控制響應函數
*/
VOID WINAPI ServiceControl(DWORD WY_dwCtrlCode);

/*-----------------IsServiceSetup()-------------------*/
/*
判斷服務是否已經安裝函數
return value:
FALSE 沒有安裝
TRUE 已經安裝
*/
BOOL IsServiceSetup();

/*----------------IsServiceRun()-------------------*/
/*
判斷服務是否已經運行
return value:
FALSE 沒有運行
TRUE 已經運行
*/
BOOL IsServiceRun();

/*----------------SetupService()---------------------*/
/*
安裝服務函數
return value:
FALSE 安裝失敗
TRUE 安裝成功
*/
BOOL SetupService();

/*----------------RunService()----------------------*/
/*
運行服務
此函數是在安裝服務後調用
return value:
FALSE 服務運行失敗
TRUE 服務成功運行
*/
BOOL RunService(SC_HANDLE WY_hSvcHandler);

/*-----------------MsgBox()------------------------*/
/*
顯示一個對話框
此函數是在服務程序中顯示一個對話框
parameter:
LPCTSTR WY_lpszText 要顯示的信息
LPCTSTR WY_lpszTitle 要顯示的對話框的標題
UINT WY_uType 要顯示的對話框類型
類型值查閱MSDN的MessageBox的uType的值
return value:

如果成功返回,值是下面的一種
IDABORT Abort 按鈕被按下.
IDCANCEL Cancel 按鈕被按下.
IDCONTINUE Continue 按鈕被按下.
IDIGNORE Ignore 按鈕被按下.
IDNO No 按鈕被按下.
IDOK OK 按鈕被按下.
IDRETRY Retry 按鈕被按下.
IDTRYAGAIN Try 按鈕被按下.
IDYES Yes 按鈕被按下.
WYCONST_MSGBOX_ERROR 顯示對話框失敗.
*/
int MsgBox(LPCTSTR WY_lpszText,LPCTSTR WY_lpszTitle,UINT WY_uType);
=================Service.c======================
/*
在ServiceMain 中注釋"請在這里插入處理函數"處放入處理函數
*/
#include <TCHAR.h>
#include <stdio.h>
#include <windows.h>
#include <winbase.h>
#include <winsvc.h>
#include <process.h>
#include "service.h"

void main()
{
//定義服務入口結構
SERVICE_TABLE_ENTRY WY_ServiceEntry[2];
DWORD WY_dwErrCode;
DWORD WY_dwRetValue;
char WY_szErrString[256];

//先獲得當前服務程序的路徑
WY_dwRetValue = GetMoleFileName(NULL,WY_szBinpath,WYCONST_FILEPATHSIZE);
if(!WY_dwRetValue)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"GetMoleFileName Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return;
}
OutputDebugString(WY_szBinpath);
//下面if else 是判斷服務是否已經安裝
//如果已經安裝則進入服務入口函數
//否則進行安裝服務
if(IsServiceSetup())
{
OutputDebugString("Service have setuped");

if(!IsServiceRun())
{
WY_ServiceEntry[0].lpServiceName = WYCONST_SERVICE_NAME;
WY_ServiceEntry[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTION)ServiceMain;

WY_ServiceEntry[1].lpServiceName = NULL;
WY_ServiceEntry[1].lpServiceName = NULL;

//啟動服務的控制分配機制線程

if(!StartServiceCtrlDispatcher(WY_ServiceEntry))
{
WY_dwErrCode = GetLastError();
if(WY_dwErrCode == ERROR_INVALID_DATA)
{
OutputDebugString((LPCTSTR)"無效的服務入口結構");
return;
}
if(WY_dwErrCode == ERROR_SERVICE_ALREADY_RUNNING)
{
OutputDebugString((LPCTSTR)"服務已經運行");
return;
}
OutputDebugString((LPCTSTR)"啟動服務入口函數未知錯誤");
return;
}
}
else
{
OutputDebugString((LPCTSTR)"服務已經運行");
return;
}
}
else
{ //安裝服務
OutputDebugString("Not find Service");
if(!SetupService())
{
OutputDebugString((LPCTSTR)"安裝服務失敗");
return;
}
}

}
/*---------------服務進程必須提供的函數--------------------*/
VOID WINAPI ServiceMain(DWORD WY_dwArgc,LPTSTR *WY_lpszArgv)
{
//初始化服務狀態
OutputDebugString((LPCTSTR)"初始化服務狀態");
WY_SvcStatus.dwServiceType = SERVICE_WIN32;
WY_SvcStatus.dwCurrentState = SERVICE_START_PENDING;
WY_SvcStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN;
WY_SvcStatus.dwWin32ExitCode = NO_ERROR;
WY_SvcStatus.dwServiceSpecificExitCode = NO_ERROR;
WY_SvcStatus.dwCheckPoint = 0;
WY_SvcStatus.dwWaitHint = 0;
//注冊控制函數
OutputDebugString((LPCTSTR)"注冊控制函數");
WY_hSvcStatusHandle = RegisterServiceCtrlHandler(WYCONST_SERVICE_NAME,ServiceControl);
if(WY_hSvcStatusHandle == ERROR_INVALID_NAME)
{
OutputDebugString((LPCTSTR)"無效的服務名稱");
return;
}
if(WY_hSvcStatusHandle == ERROR_SERVICE_DOES_NOT_EXIST)
{
OutputDebugString((LPCTSTR)"未找到指定服務");
return;
}
//成功注冊
WY_SvcStatus.dwCurrentState = SERVICE_RUNNING;
//設置服務進程狀態
OutputDebugString((LPCTSTR)"設置服務進程狀態");
SetServiceStatus(WY_hSvcStatusHandle,&WY_SvcStatus);
WY_dwCurState = SERVICE_RUNNING;

//
//請在這里加入處理函數

while(WY_SvcStatus.dwCurrentState == SERVICE_RUNNING)
{
OutputDebugString((LPCTSTR)"在這里加入你的處理代碼");
// MsgBox("test",WYCONST_SERVICE_NAME,0);

Sleep(WYCONST_SLEEPTIME);
}

return;
}

VOID WINAPI ServiceControl(DWORD WY_dwCtrlCode)
{
OutputDebugString((LPCTSTR)"接受控制");
switch(WY_dwCtrlCode)
{
case SERVICE_CONTROL_STOP:
OutputDebugString((LPCTSTR)"服務退出");

WY_SvcStatus.dwCurrentState = SERVICE_STOPPED;
WY_SvcStatus.dwWin32ExitCode = NO_ERROR;

SetServiceStatus(WY_hSvcStatusHandle,&WY_SvcStatus);
WY_dwCurState = SERVICE_STOPPED;
return;
case SERVICE_CONTROL_SHUTDOWN:
OutputDebugString((LPCTSTR)"系統關機");

WY_SvcStatus.dwCurrentState = SERVICE_STOPPED;
WY_SvcStatus.dwWin32ExitCode = NO_ERROR;

SetServiceStatus(WY_hSvcStatusHandle,&WY_SvcStatus);
WY_dwCurState = SERVICE_STOPPED;
return;
default:

break;

}
SetServiceStatus(WY_hSvcStatusHandle,&WY_SvcStatus);
}
/*---------------------------服務運行前的配置函數--------------------*/
BOOL IsServiceSetup()
{
SC_HANDLE WY_hSCHandle;
DWORD WY_dwErrCode;
DWORD WY_dwBufferNeeded = 0;
DWORD WY_dwEntriesNum = 0;
DWORD WY_dwNextEntry = 0;
DWORD WY_i;
char WY_szErrString[256];
BOOL WY_isSetup = FALSE;
ENUM_SERVICE_STATUS WY_essService,*WY_pessService;

//打開服務控制管理資料庫
WY_hSCHandle = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if(!WY_hSCHandle)
{
WY_dwErrCode = GetLastError();
if(WY_dwErrCode == ERROR_ACCESS_DENIED)
{
OutputDebugString((LPCTSTR)"請求被拒絕");
exit(0);
}
if(WY_dwErrCode == ERROR_DATABASE_DOES_NOT_EXIST)
{
OutputDebugString((LPCTSTR)"服務程序資料庫未找到");
exit(0);
}
if(WY_dwErrCode == ERROR_INVALID_PARAMETER)
{
OutputDebugString((LPCTSTR)"無效的參數");
exit(0);
}
OutputDebugString((LPCTSTR)"OpenSCManager 未知錯誤");
exit(0);
}
//成功打開服務控制管理資料庫,枚舉服務
//首先獲得需要多大的緩存空間
if(!EnumServicesStatus(WY_hSCHandle,SERVICE_WIN32,SERVICE_STATE_ALL,&WY_essService,sizeof(ENUM_SERVICE_STATUS),
&WY_dwBufferNeeded,&WY_dwEntriesNum,&WY_dwNextEntry))
{
WY_dwErrCode = GetLastError();
if(WY_dwErrCode == ERROR_MORE_DATA) //獲得了需要的緩存大小,重新獲得服務數據
{
WY_dwBufferNeeded += sizeof(ENUM_SERVICE_STATUS);
WY_pessService = (LPENUM_SERVICE_STATUS)malloc(WY_dwBufferNeeded);

if(!EnumServicesStatus(WY_hSCHandle,SERVICE_WIN32,SERVICE_STATE_ALL,WY_pessService,WY_dwBufferNeeded,
&WY_dwBufferNeeded,&WY_dwEntriesNum,&WY_dwNextEntry))
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"EnumServiceStatus Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
exit(0);
}
//開始枚舉服務
for(WY_i = 0;WY_i<WY_dwEntriesNum;WY_i++)
{
WY_dwErrCode = (DWORD)_tcscmp(WY_pessService[WY_i].lpServiceName,WYCONST_SERVICE_NAME);
if(WY_dwErrCode == 0) //找到安裝的服務
{
WY_isSetup = TRUE;
WY_dwCurState = WY_pessService[WY_i].ServiceStatus.dwCurrentState;
break;
}
}

}
else
{
sprintf(WY_szErrString,"EnumServiceStatus Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
exit(0);
}
}
free(WY_pessService) ;
CloseServiceHandle(WY_hSCHandle);

return WY_isSetup;
}

BOOL IsServiceRun()
{
if(WY_dwCurState == SERVICE_RUNNING)
{
return TRUE;
}
else
{
return FALSE;
}
}

BOOL SetupService()
{
SC_HANDLE WY_hSCHandler,WY_hSvcHandler;
DWORD WY_dwErrCode;
char WY_szErrString[256];

//打開服務控制管理資料庫
WY_hSCHandler = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
if(!WY_hSCHandler)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"OpenSCManager Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return FALSE;
}

//創建服務
WY_hSvcHandler = CreateService(WY_hSCHandler,WYCONST_SERVICE_NAME,WYCONST_SERVICE_NAME,SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,WY_szBinpath,
NULL,NULL,NULL,NULL,NULL);
if(!WY_hSvcHandler)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"CreateService Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return FALSE;
}
if(!RunService(WY_hSvcHandler))
{
OutputDebugString((LPCTSTR)"運行服務失敗");
return FALSE;
}
CloseServiceHandle(WY_hSvcHandler);
CloseServiceHandle(WY_hSCHandler);
return TRUE;
}

BOOL RunService(SC_HANDLE WY_hSvcHandler)
{
DWORD WY_dwErrCode;
char WY_szErrString[256];

if(!StartService(WY_hSvcHandler,0,NULL))
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"StartService Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return FALSE;
}
return TRUE;
}

int MsgBox(LPCTSTR WY_lpszText, LPCTSTR WY_lpszTitle, UINT WY_uType)
{
// DWORD WY_dwCurrentTID;
DWORD WY_dwErrCode;
char WY_szErrString[256];
HWINSTA WY_hWinStaSave,WY_hWinStaUser;
HDESK WY_hDeskSave,WY_hDeskUser;
int WY_nResult;

//先保存服務進程原先的窗口站
GetDesktopWindow();
WY_hWinStaSave = GetProcessWindowStation();
if(!WY_hWinStaSave)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"GetProcessWindowStation Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return WYCONST_MSGBOX_ERROR;
}
WY_hDeskSave = GetThreadDesktop(GetCurrentThreadId());
if(!WY_hDeskSave)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"GetThreadDesktop Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return WYCONST_MSGBOX_ERROR;
}

//為了顯示對話框,首先打開WinSta0 窗口站,再打開Default 桌面
WY_hWinStaUser = OpenWindowStation("WinSta0",FALSE,MAXIMUM_ALLOWED);
if(!WY_hWinStaUser)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"OpenWindowStation Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
return WYCONST_MSGBOX_ERROR;
}
SetProcessWindowStation(WY_hWinStaUser);
WY_hDeskUser = OpenDesktop("Default",0,FALSE,MAXIMUM_ALLOWED);
if(!WY_hDeskUser)
{
WY_dwErrCode = GetLastError();
sprintf(WY_szErrString,"OpenDesktop Error %d",WY_dwErrCode);
OutputDebugString(WY_szErrString);
//打開Default 桌面錯誤,並恢復原先的窗口站
SetProcessWindowStation(WY_hWinStaSave);
CloseWindowStation(WY_hWinStaUser);
return WYCONST_MSGBOX_ERROR;
}
SetThreadDesktop(WY_hDeskUser);

//顯示MessageBox 對話框
WY_nResult = MessageBox(NULL,WY_lpszText,WY_lpszTitle,WY_uType);
//恢復原先的窗口站
SetThreadDesktop(WY_hDeskSave);
SetProcessWindowStation(WY_hWinStaSave);
CloseDesktop(WY_hDeskUser);
CloseWindowStation(WY_hWinStaUser);
return WY_nResult;
}

④ C++寫的服務程序,如何獲得當前執行程序所在目錄

char szPathTemp[512];
GetMoleFileName(NULL, szPathTemp, 512);
//取出文件路徑
for (int i=strlen(szPathTemp); i>=0; i--)
{
if (szPathTemp[i] == '\\')
{
szPathTemp[i] = '\0';
break;
}
}

這樣試試,我用回沒問題答

⑤ bcb 怎樣獲得服務程序的運行路徑

獲取抄當前目錄的方法有很多,其中之一:
TCHAR szFilePath[MAX_PATH + 1];
GetMoleFileName(NULL, szFilePath, MAX_PATH);
(_tcsrchr(szFilePath, _T('//')))[1] = 0; //刪除文件名,只獲得路徑
CString str_url = szFilePath; //str_url 中保存的是當前目錄

⑥ 中譯英,請幫忙!

路徑: [ lù jìng ]

1. route

其它相關解釋:
<path> <lane> <pathway> <paths> <way> <track (shoe)> <leg pathway>

例句與用法:
1. 穿越阿爾卑斯山有一條風景優美的路徑。
There is a scenic route across the Alps.

2. 子系統支持服務程序的路徑選擇或控製程序。此程序根據所有子系統支持服務功能的優先順序提供多任務和控制支持。
The routing or controlling routines of Subsystem Support Services. This routine provides multitasking and control support, on a priority basis, for all Subsystem Support Services functions.

3. 環游,周遊沿這種路徑的旅行
A journey made on such a path or route.

4. 周日弧,夜間弧天體升起或落下地平線時的明顯路徑
The apparent path of a celestial body as it rises above and falls below the horizon.

外出: [ wài chū ]

1. (v) go out; go away from one's present physical position

其它相關解釋:
<egression> <egress> <outgoing> <out> <stay away> <outgo> <outwent> <outgone> <stay out> <outing>

例句與用法:
1. 天在下雪,所以我無法外出。
It was snowing, and so I could not go out.

2. 他不能鼓起足夠的勇氣請她一起外出。
He couldn't pluck up enough courage to ask her to go out with him.

3. 惡劣的天氣使我們外出的願望無法實現。
The terrible weather frustrated our hopes of going out.

4. 他每次外出都會順道去那家書店待一會兒。
He never goes out but he drops in at that bookstore.

5. 她自從出了事故以後,一直沒有騎馬外出過。
She hasn't been out riding since the accident.

6. 我們絕少外出.
We go out very seldom.

7. 我慶幸自己不必在天氣這樣惡劣的夜晚外出.
I'm glad I don't have to go out on such a dirty night.

8. 我父母向來不贊成深夜外出.
My parents always frown on late nights out.

⑦ windows 根據進程pid如何查找程序所在路徑

查不到,可以使用process explorer
Process Explorer 是一款免費的增強型任務管理器,是最好的進程管理器. 它能讓使用者了解看不到的在後台執行的處理程序,可以使用它方便地管理你的程序進程. 能監視,掛起,重啟,強行終止任何程序,包括系統級別的不允許隨便終止的關鍵進程和十分隱蔽的頑固木馬. 除此之外,它還詳盡地顯示計算機信息: CPU,內存,I/O使用情況,可以顯示一個程序調用了哪些動態鏈接庫DLL,句柄,模塊,系統進程. 以目錄樹的方式查看進程之間的歸屬關系,可以對進程進行調試. 可以查看進程的路徑,以及公司,版本等詳細信息,多色彩顯示服務進程,很酷的曲線圖. 可以替換系統自帶的任務管理器,有了它,系統自帶的任務管理器就可以扔進垃圾桶了.

⑧ 如何獲取Windows服務的運行路徑

windows索引服務是windows操作系統提供的桌面搜索引擎,通過預先創建索引來提高對硬碟上文件內容的搜索速度。以windows服務程序的方式運行。 一、工作方式
1、對指定路徑下的文件創建索引,並生成索引文件,索引文件的路徑可以指定。
2、使用時,根據索引文件進行查詢,不需要再次打開被索引的文件
二、使用方式
1、可以在windows搜索文件內容的時候指定使用索引服務,可以提高搜索速度。
2、windows索引服務對外提供DCOM等方式,可以通過COM介面訪問。
3、可以與SQL SERVER結合,通過鏈接伺服器(link server)的方式,配合SQL SERVER的全文檢索語句進行搜索。
三、特點
1、只能提供靜態摘要(文檔開頭的指定長度位元組),不能生成動態摘要(類似Google的包含關鍵字的一段文字)。
2、使用遠程的文件資源時,需要使用域名和密碼對遠程的windows共享資源進行訪問,以便建立索引。
3、被索引的文件系統發生變化,索引可以自動更新。
4、文件系統龐大時,索引文件變大,搜索性能下降。
5、創建索引時,關鍵字詞庫有限,並且不能由用戶增加新的關鍵字,會導致一些詞彙不能被搜索,例如:C++
6、因和windows系統結合,可以支持html、txt、office文件等格式,如果需要支持其他文件,可以下載或者編寫Filter,windows提供了編寫Filter的標准介面。現有可以下載的Filter除了pdf格式Filter免費外,其它Filter的Server版都是收費的,Workstation版免費。
四、其他桌面搜索引擎
1、Google桌面搜索引擎
2、網路硬碟搜索等
五、總結
windows索引服務適合桌面搜索使用,在文件數量不是很大時可以提高全文檢索速度。一些開源的java搜索引擎通常面向web搜索,較著名的有lucene等,有待研究。
=====================================================================
很多朋友對Windows操作系統中自帶的搜索功能並不感冒,原因無他,因為搜索的速度實在是太慢了。正因如此,Google桌面搜索、網路硬碟搜索等第三方軟體才能大行其道。其實,如果你使用的是Windows 2000或更高版本的操作系統,應該激活Windows索引服務,這樣在搜索文件時就能從索引資料庫中快速查找所需要的文件了。

⑨ 路徑的英語單詞

路徑是使用繪圖工具創建的任意形狀的曲線,用它可勾勒出物體的輪廓,所以也稱之為輪廓線。 為了滿足繪圖的需要,路徑又分為開放路徑和封閉路徑。那麼你知道路徑的英語單詞是什麼嗎?下面來學習一下吧。

路徑英語單詞1:

path

路徑英語單詞2:

route

路徑的英語例句:

使虛擬路徑成為相對路徑將使該路徑與應用程序無關。

Making a virtual path relative makes the path independent of the application.

區域路徑表達式可以是絕對路徑,也可以是相對路徑。

A location path can be absolute or relative.

通道是連接到服務提供者的邏輯路徑。

A channel is a logical path to service providers.

必須指定一個或多個絕對路徑名。

One or more absolute path names must be specified.

該文件路徑可以是相對路徑或絕對路徑。

The file path can be relative or absolute.

輸入的路徑不是一個合法路徑。

The path entered is not a legal path.

相對路徑是相對於當前項目目錄的路徑。

Relative paths are relative to the current project directory.

此方法在路徑中開始一個新子路徑。

This method starts a new subpath in the path.

以下是這類合作通常的演變路徑:

Here 's the way it typically plays out:

這里顯示了9個模板路徑選項。

There are nine options shown for the template path.

目前,OmniFind不支持使用IFS路徑來索引流文件以外的對象類型。

OmniFind does not support using an IFS path to index object types other than stream files at this time.

這是因為該查詢中的路徑表達式僅指向沒有名稱空間的元素。

This is because the path expression in the query targets only < company> elements that have no namespaces.

然後,應該將系統的一些關鍵部分逆向工程,並且驗證到新平台的移植路徑。

Then some critical parts of the system should be reverse-engineered and the migration path to the new platform validated.

這種類型的訪問路徑被稱為使用復合排序的嵌套循環聯接(NLJOIN)。

This type of access path is referred to as a nested loop join ( NLJOIN) with sort composite.

屏幕圖:Create database向導,其中包含資料庫名、默認路徑、別名和注釋欄位

Screen cap: Create database wizard, with fields for database name, default path, alias, and comment

比如諾基亞公司(Nokia)的Nokia Here就是在路徑尋找和智能導航上做得最好的三大全球級競爭者之一。

One of the top three global players in route finding and smart mapping is Nokia here ( NOK).

子系統支持服務程序的路徑選擇或控製程序。此程序根據所有子系統支持服務功能的優先順序提供多任務和控制支持。

The routing or controlling routines of Subsystem Support Services. This routine provides multitasking and control support, on a priority basis, for all Subsystem Support Services functions.

⑩ 怎麼獲取Windows服務程序的路徑

windows索引服務是windows操作系統提供的桌面搜索引擎,通過預先創建索引來提高對硬碟上文件內容的搜索速度。以windows服務程序的方式運行。
一、工作方式
1、對指定路徑下的文件創建索引,並生成索引文件,索引文件的路徑可以指定。
2、使用時,根據索引文件進行查詢,不需要再次打開被索引的文件
二、使用方式
1、可以在windows搜索文件內容的時候指定使用索引服務,可以提高搜索速度。
2、windows索引服務對外提供DCOM等方式,可以通過COM介面訪問。
3、可以與SQL SERVER結合,通過鏈接伺服器(link server)的方式,配合SQL SERVER的全文檢索語句進行搜索。
三、特點
1、只能提供靜態摘要(文檔開頭的指定長度位元組),不能生成動態摘要(類似Google的包含關鍵字的一段文字)。
2、使用遠程的文件資源時,需要使用域名和密碼對遠程的windows共享資源進行訪問,以便建立索引。
3、被索引的文件系統發生變化,索引可以自動更新。
4、文件系統龐大時,索引文件變大,搜索性能下降。
5、創建索引時,關鍵字詞庫有限,並且不能由用戶增加新的關鍵字,會導致一些詞彙不能被搜索,例如:C++
6、因和windows系統結合,可以支持html、txt、office文件等格式,如果需要支持其他文件,可以下載或者編寫Filter,windows提供了編寫Filter的標准介面。現有可以下載的Filter除了pdf格式Filter免費外,其它Filter的Server版都是收費的,Workstation版免費。
四、其他桌面搜索引擎
1、Google桌面搜索引擎
2、網路硬碟搜索等
五、總結
windows索引服務適合桌面搜索使用,在文件數量不是很大時可以提高全文檢索速度。一些開源的java搜索引擎通常面向web搜索,較著名的有lucene等,有待研究。
=====================================================================
很多朋友對Windows操作系統中自帶的搜索功能並不感冒,原因無他,因為搜索的速度實在是太慢了。正因如此,Google桌面搜索、網路硬碟搜索等第三方軟體才能大行其道。其實,如果你使用的是Windows 2000或更高版本的操作系統,應該激活Windows索引服務,這樣在搜索文件時就能從索引資料庫中快速查找所需要的文件了。

什麼是索引服務

索引服務是一項系統服務(Indexing Service),使用文檔篩選器讀取整個文檔,並提取文檔和屬性傳遞給索引程序,這個過程稱為「索引」。索引服務可以從一組文檔中提取並組織信息,以便通過Windows搜索功能、索引服務查詢表或Web瀏覽器快速容易地訪問該信息,該信息可以包含文檔中的文本(內容)、文檔的特徵和參數(屬性)。

一旦創建了索引,我們就可以對包含關鍵字、詞、屬性的文檔進行搜索或查詢索引,例如既可以查詢所有包含詞「工作」的文檔,也可以查詢某個作者編寫的所有Microsoft Office文檔,索引服務返回符合搜索條件的所有文檔列表。

打開控制面板,再從管理工具中找到「服務」,如圖1所示,現在就可以看到索引服務的真面目了,當前索引服務處於禁用狀態。

編輯提示:什麼是文檔篩選器?文檔篩選器是解釋特定類型文檔結構的軟體組件,例如Microsoft Word或HTML文檔,索引服務使用篩選器提取所有類別的文本內容和屬性值,並將其發送給索引引擎。

索引服務支持的文檔類型

索引服務使用了特殊的過濾器來分析各種文件,並創建在搜索文件時可用的參考值。可支持的文檔類型如下:

HTML

Internet郵件、新聞組,需要安裝Internet信息服務。

Microsoft Office文檔

文本文件

可以使用文檔篩選的任何其他文檔

除了這些內置的文檔篩選器外,你還可以安裝第三方過濾器來索引其他類型的文件,這樣可以讓索引服務支持更多的文件類型,例如安裝Adobe Reader後可以索引Acrobat PDF文件。

索引服務我控制

前面已經提到,索引服務必須在Windows 2000以上版本的操作系統中才能使用,而系統中的索引服務默認是關閉的,應該如何來啟動和使用索引服務呢?

1. 啟動索引服務

打開「控制面板→管理工具→服務」窗口,找到Indexing Service服務雙擊打開屬性對話框。將啟動類型設置為「自動」或「手動」,然後單擊右下角的「應用」按鈕使其生效,原來呈灰色狀態的「啟動」按鈕就可以使用了,單擊後即可啟動索引服務,以後當系統處於空閑狀態時,索引服務將為計算機上的文件編制索引並加以維護。

啟動索引服務後,系統會在硬碟系統分區上創建一個名為System Volume Information\catalog.wci的文件用來存放索引文件。索引服務可以連續運行並且幾乎不需要維護,安裝索引服務後所有的操作都將自動完成,包括索引的創建、索引的更新、掉電時的故障恢復等。

2. 在搜索時調用索引服務

啟動索引服務後,應該可以提高搜索的速度和效率,但必須首先讓搜索調用索引服務才行。在搜索窗口中選擇「改變首選項」,如圖3所示,選擇「是的,啟用製作索引服務」選項,確定後即可在搜索中使用索引服務。

編入索引的文檔總體大小和正在使用的文件系統類型會影響存儲索引服務的數據所需的磁碟空間大小,FAT文件系統分類需要的空間加上臨時工作空間大約是索引文件問題的30%,而NTFS文件系統需要的空間大約是索引文件問題的15%。

3. 創建索引目錄

索引服務將其所有的索引信息都存儲在編錄中,編錄包含了索引信息和文件系統目錄的特定組的存儲屬性,在Windows中安裝索引服務後,將自動構造成為系統編錄,其中列出了所有永久連接磁碟驅動器的內容,除特定文件和臨時文件之外,系統編錄中包含了所有文檔的索引。如果檢測到Internet信息服務,索引服務將同時創建名為Web的編錄。

(1)文檔內容。索引包含了每個文檔的內容,除了在例外列表中的詞(例如冠司、介詞、代詞),文檔內容包括:HTML文檔中的文字,新聞組文章或電子郵件的郵件正文,字處理程序文檔或其他文檔的正文。索引占編錄的絕大部分空間,大約為編入索引的文檔總大小的15~30%。

(2)文檔屬性。文檔屬性代表了文檔的特徵,例如創建日期、作者姓名、文檔大小,屬性值是特定檔案的特定信息,有些屬性值由創建文檔的程序自動設置,而有些屬性值則由用戶輸入,所有屬性和屬性值都同文檔內容一道編入索引並且要以搜索,多數屬性還可以顯示在搜索結果的列表中,但某些在文檔被索引時必須被存儲在屬性緩存中,否則索引服務將無法找到,當然也就無法在搜索結果中顯示了。

(3)創建編錄。其實,大多數情況下我們只需要對某些特定文件夾進行索引,這樣系統默認的System編錄就無法滿足我們的需要了。此時,你可以根據實際情況添加相應的編錄,打開「控制面板→管理工具→計算機管理」窗口,依次展開「計算機管理(本地)→服務和應用程序→索引服務」,從操作菜單中選擇「新建→編錄」,輸入編錄名稱,並選擇索引數據的保存位置,注意添加編錄後必須中止並重新啟動索引服務進行索引。

(4)添加目錄。接下來,你還需要為剛才新建的編錄添加目錄,在右側空白處選擇「新建→目錄」,在彈出的對話框中單擊「瀏覽」按鈕設置相應的路徑,注意應該將下面的「包括在索引中嗎?」設置為「是」,如果選擇「否」可以將這個文件夾排除在索引之外,添加後系統將自動完成該目錄的完整掃描。當然,你也可以在目錄列表中右擊文件夾,選擇「所有任務→重新掃描(增量)」,這樣系統將僅僅索引被改動過的部分。

4. 讓索引服務支持更多的文件

在默認設置下,索引服務只支持具備相應篩選器的文檔類型,是否能讓它能夠支持更多的文件,例如非常流行的XML文檔呢?

打開「控制面板→管理工具→計算機管理」窗口,依次展開「計算機管理(本地)→服務和應用程序→索引服務」,右擊需要添加支持文檔類型的編錄,打開屬性窗口,切換到「生成」標簽頁,如圖4所示,首先請去除「繼承服務的以上設置」復選框,然後選中「可繼承設置」小節中的「含有未知擴展名的索引文件」復選框。

5. 調整索引服務性能

我們可以根據使用服務的方式來調整索引服務的性能,主要是更改用於索引和查詢處理的計算機資源的數量,右擊索引服務,首先從「操作」菜單中選擇停止,然後再次從「操作」菜單中選擇「所有任務→所有任務→調整性能」,在「索引服務使用」對話框中選擇最適合「索引服務」在計算機上的使用方式的選項,這里提供了經常使用、偶爾使用、從不使用、自定義共四種索引服務用法。

如果選擇「自定義」,我們可以獲得更多的調整許可權,如圖5所示,可以選擇將「索引」滑塊移到「遲緩」或「立即」位置,前者可以延緩索引,使用的系統資源較少;後者會立即索引新文檔和更改過的文檔,但將使用盡可能多的系統資源。如果一次處理的查詢不多,可以將「查詢」滑塊移到「低負載」處;如果一次處理大量查詢,請移到「高負載」處,當然後者將使用較多的資源。

「索引」和「查詢」調整完畢後,都必須重新啟動索引服務才能生效。

6. 使用系統監視器監視索引服務

我們可以使用Windows內置的性能監視功能來監視索引服務,從控制面板中雙擊「性能」圖標打開如圖6所示窗口,從右鍵菜單中添加相應的計數器,綁定時間(綁定到篩選器文件的平均時間)、索引速度(文檔索引速度,但不包括生成的摘要)、總索引速度(包括生成的摘要)這3個計數器將顯示在「索引服務篩選器」對象下,運行中的查詢(正在處理的查詢數)、查詢總數(在該索引會話中處理的總數)這2個計數器將顯示在「索引服務對象」下。

7. 降低索引服務的資源佔用率

由於索引服務將耗費大量的內存和系統資源,如果內存不足將嚴重影響性能,因此建議配置更高容量的內存,同時配置速度快的處理器也可以提高索引的性能和查詢的處理速度。

例如在選擇一些個頭較大的AVI視頻文件時,系統往往會停止響應,由於系統首先會掃描該文件,並執行一次循環來檢查文件的所有部分以便建立索引,假如文件超過700MB且沒有索引信息,系統查詢索引所需要的時間會相當長,而且CPU的使用率也會很高。如果使用的是NTFS分區,可以右擊視頻文件所在的文件夾,打開屬性窗口的「常規→高級」對話框,取消勾選「為了快速搜索,允許索引服務編制該文件夾的索引」復選框,選擇應用到所有文件,確定後即可。

最後需要說明的是,在運行備份程序或者掃描病毒時,由於這些程序會鎖住一些文件造成索引服務停止更新內容,這樣索引服務在試圖索引這些文件時將超時,正確的做法是暫時停止索引服務。

閱讀全文

與服務程序的路徑相關的資料

熱點內容
感測器視頻教程下載 瀏覽:95
flash源文件賀卡下載 瀏覽:434
如何提高網路扶貧的效果 瀏覽:654
飛車軟體文件夾叫什麼 瀏覽:242
刷ec用什麼編程器 瀏覽:765
方菱數控u盤文件格式 瀏覽:260
編程為什麼輸出兩個變數 瀏覽:490
衛星大鍋2017用升級嗎 瀏覽:113
玉米win10系統下載 瀏覽:134
fgo技能升級減cd嗎 瀏覽:129
什麼記賬app免費好用 瀏覽:441
網路檢測可以檢測到什麼 瀏覽:504
sip協議教程 瀏覽:832
編程哪裡可以接項目 瀏覽:119
孤島驚魂win10 瀏覽:246
網路HRV是什麼意思 瀏覽:918
word框中打勾 瀏覽:577
tcl筆試題java 瀏覽:467
win10怎麼登錄安全模式 瀏覽:679
除了archdaily還有什麼網站 瀏覽:567

友情鏈接