1. 程式人生 > >Atitit.建立快捷方式 windows快捷方式的原理

Atitit.建立快捷方式 windows快捷方式的原理

Atitit.建立快捷方式 windows快捷方式的原理

34

1. Windows中有2種快捷方式的檔案:

1、快捷方式檔案是二進位制檔案;

2、Internet快捷方式檔案,格式和INI檔案一樣,副檔名為 .URL。

作者:: 綽號:老哇的爪子 (全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 )漢字名:艾龍,  EMAIL:[email protected]

轉載請註明來源: http://blog.csdn.net/attilax

在此學習一下Internet快捷方式檔案。

Internet快捷方式的檔案格式如下: 

[DEFAULT]

BASEURL=

[InternetShortcut]

URL=

WorkingDirectory=

ShowCommand=

IconIndex=

IconFile=

Modified=

HotKey=

其中

· BASEURL、URL和WorkingDirectory這3項的含義是不言而明的。

· ShowCommand規定Internet Explorer啟動後窗口的初始狀態:7表示最小化,3表示最大化;如果沒有ShowCommand這一項的話則表示正常大小。

· IconFile和IconIndex用來為Internet快捷方式指定圖示;如果你不想指定圖示,Windows會使用預設的Internet快捷方式圖示。

· HotKey指定一個整數值;HotKey的值及其含義見附錄。

2. Jshortcut

翻譯此頁

This page contains information, documentation, and downloads for JShortcutJShortcut isa Java package with a native library that allows a Java application to create ...

GitHub - jimmc jshortcut  Java JNI interface to access Windows shortcuts.htm

http://alumnus.caltech.edu/~jimmc/jshortcut/download/index.html

2.1. 提示新不上jshortcut.dll

Bg na feodg jshortcut.jar yda d dir hto...zo ok le ..

Se,yeu tips  31bit d ,mafe ....give up..le..

Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\workspace 空格\AtiPlatf\WEB-INF\lib_dll\jshortcut.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1822)

at java.lang.Runtime.load0(Runtime.java:809)

at java.lang.System.load(System.java:1086)

at net.jimmc.jshortcut.JShellLink.<clinit>(JShellLink.java:100)

at com.attilax.util.ShortCut.createShortCut(ShortCut.java:31)

at com.attilax.util.ShortCut.main(ShortCut.java:17)

2.2. 使用win api實現

用指定的類識別符號建立一個Com物件,用指定的類識別符號建立一個未初始化的物件。當在本機中只建立一個物件時,可以呼叫CoCreateInstance;在遠端系統中建立一個物件時,可以呼叫CoCreateInstanceEx;建立多個同一CLSID的物件時可以參考CoGetClassObject 函式。

2.3. 使用WshShell  com實現

Set WshShell = WScript.CreateObject("WScript.Shell")strDesktop = WshShell.SpecialFolders("Desktop")set oShellLink = WshShell.CreateShortcut(strDesktop & "\學習天地.lnk")

2.4. Win沒提供cli格式的方法

3. 

4. Attilax的總結

使用ini格式的url算蘭..

5. Ref

java建立快捷方式(作者 ice古雨) - - ITeye技術網站.htm

()建立快捷方式到桌面的指令碼命令_singularpoint_新浪部落格.htm

Internet快捷方式-vivieu-ChinaUnix部落格.htm

命令列建立快捷方式-vivieu-ChinaUnix部落格.htm

CoCreateInstance_百度百科.htm

CoCreateInstance具體內部實現 - IT民工 部落格頻道 - CSDN.NET.htm

6. Winapi code

  hr = CoCreateInstance(CLSID_ShellLink, NULL,       CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pisl);

   IPersistFile* pIPF;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

//這裡是我們要建立快捷方式的原始檔案地址   pisl->SetPath("c:\\windows\\notepad.exe");   hr = pisl->QueryInterface(IID_IPersistFile, (void**)&pIPF);   if (SUCCEEDED(hr))   {

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

//這裡是我們要建立快捷方式的目標地址

    pIPF->Save(L"c:\記事本.lnk", FALSE);    pIPF->Release();

h = CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,

IID_IShellLink, (PVOID*)&shellLink );

if (FAILED(h)) {

errStr = "Failed to create IShellLink";

goto err;

}

h = shellLink->QueryInterface(IID_IPersistFile, (PVOID*)&persistFile);

if (FAILED(h)) {

errStr = "Failed to get IPersistFile";

goto err;

}

7. --end

相關推薦

Atitit.建立快捷方式 windows快捷方式原理

Atitit.建立快捷方式 windows快捷方式的原理 3. 4 1. Windows中有2種快捷方式的檔案: 1、快捷方式檔案是二進位制檔案; 2、Internet快捷方式檔案,格式和INI檔案一樣,副檔名為 .URL。 作者:: 綽號:老

Windows快捷方式檔案格式解析

轉載自:https://blog.csdn.net/cosmoslife/article/details/51898534 大家知道通過IShellLink介面可以得到快捷方式的各種屬性。具體怎麼做,網上有很多文章,這裡就不介紹了。現在主要是分析一下快捷方式檔案的格式,並且自己寫一個解析程式。

Ubuntu下建立eclipse的桌面快捷方式

1:在/usr/share/applications/建立.desktop檔案 vim /usr/share/applications/eclipse.desktop 2:輸入相應的資訊 #########=====如下吉祥是必須配置的======

解決windows下桌面快捷方式快捷鍵重啟後失效的問題

事處原因:想實現通過點選物理按鍵去啟動指定的應用程式或執行特定的檔案。 解決步驟: 1、將檔案或應用程式建立連線檔案,再設定快捷鍵,但是這個問題重啟會失效;(然並卵) 該方法的執行過程,在網上找了一篇修改的方法,如下: 我們桌面上都有快捷方式,右擊後選擇屬性,其中有快捷鍵

C# 建立一個資料夾快捷方式

IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell(); //通過該物件的 CreateShortcut 方法來建立 IWshShortcut 介面的例項物件 IWshRuntimeLibr

eclipse查看一個方法被誰引用(調用)的快捷鍵四種方式

選中 如果 eclips 關系 方法調用 alt+ cli ctrl+s eclipse 1.(首推)雙擊選中該方法,Ctrl+Alt+H 如果你想知道一個類的方法到底被那些其他的類調用,那麽請選中這個方法名,然後按“Ctrl+Alt+H”, Eclipse就會顯示出這個

eclipse檢視一個方法被誰引用(呼叫)的快捷鍵四種方式

1.(首推)雙擊選中該方法,Ctrl+Alt+H  如果你想知道一個類的方法到底被那些其他的類呼叫,那麼請選中這個方法名,然後按“Ctrl+Alt+H”, Eclipse就會顯示出這個方法被哪些方法呼叫,最終產生一個呼叫關係樹。 2.(次推)選中該方法,Ctrl+Shift+G &nb

WPFの三種方式實現快捷

原文: WPFの三種方式實現快捷鍵 最近,對wpf新增快捷鍵的方式進行了整理。主要用到的三種方式如下: 一、wpf命令: 資源中新增命令 <Window.Resources> <RoutedUICommand x:Key="ToolCapClick" Text

我win專案中遇到的安裝以及自定義快捷方式快捷鍵的實現方法

首先我的需求是: 1、能自動安裝 2、桌面上有快捷方式,並且有快捷鍵,打快捷鍵能自動開啟程式執行 在開發中VS2010自帶的安裝可以將應用放到桌面生成快捷方式,但是有兩個問題: 一是不能自帶快捷鍵,需要手工另外增加; 二是開啟檔案位置找不到安裝目錄。 對於第二個問

Android Studio的快捷鍵以及設定方式

如果你之前已經使用其他版本的Studio,那麼直接覆蓋就好了,如果是第一次使用,那麼參照Android Studio系列教程一進行安裝配置。 於此同時一起更新的還有SDK Tools等,開啟SDK Manager進行更新就OK。如果之前有在使用RC版本的Studio

Java併發程式設計原理與實戰一(執行緒狀態及建立執行緒的多種方式

一、為什麼要學習併發程式設計 1.發揮多處理的強大能力 2.建模的簡單性 3.非同步事件的簡化處理 4.響應更加靈敏的使用者介面 二、併發的缺點 1.安全性問題 多執行緒環境下 多個執行緒共享一個資源 對資源進行非原子性操作 2.活躍

建立物件的幾種方式和new關鍵字背後的原理

一、建立物件的方式     我總結了三種1.使用字面量建立物件 var obj1 = {a:1}; 2.使用Object建構函式建立物件 var obj2 = new Object({a:1}); 3.使用建構函式建立物件 function Foo(){

windows快捷鍵大全

大全 win 程序 快速 教程 ctrl 音量 恢復 電腦 1.快速切換程序:Alt+Tab; 2.永久刪除文件Shift+ Delete; 3.秒開文件管理:Windows+E; 4.直接顯示桌面:Windows+D; 5.快速關掉頁面:Ctrl+W; 6.恢復被關頁面:

java使用windows驗證方式連接sqlserver2008數據庫

log 代碼 hid ogg rman nal sta args ron 連接數據庫的代碼段: package com.db; import java.sql.*; public class DButil { public static void mai

OS - Windows - 快捷

pla http 所有 bubuko 分享 rdquo 中心 就是 image 【F1-F12】鍵 【Win】鍵 Windows鍵就是電腦鍵盤上是Windows圖標的鍵,一般在Ctrl鍵和Alt鍵之間。搜索看整個鍵盤你會發現鍵盤上有兩個Windows鍵,主要是左右手

Mac 遠程桌面 Windows 快捷

mac -c win 遠程桌面 快捷鍵 遠程 down 開頭 快捷 文本/文檔 Fn–上箭頭:Page Up:向上滾動一頁。 Fn–下箭頭:Page Down:向下滾動一頁。 Fn–左箭頭:當前行開頭。 Fn–右箭頭:當前行末尾。 Fn-Control-左箭頭:Home:

UI設計師需要熟記的45個快捷Windows、Mac

aaa 建築 ado 而且 nbsp 所有 uci 色相 gin 大家都知道PS快捷鍵很多,其實沒必要都記住,今天為大家整理了45個比較實用的,別忘了收藏。 圖層 填充圖層 MAC: Alt+Backspace (前景) or Cmd+Backspace

建立資源的兩種方式

命令 vs 配置檔案 Kubernetes 支援兩種方式建立資源: 1. 用 kubectl 命令直接建立 kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2   在命令列中通過引數指定資源的屬性。 2.

Linux下建立程序的三種方式及特點

在Linux中主要提供了fork、vfork、clone三個程序建立方法。  在linux原始碼中這三個呼叫的執行過程是執行fork(),vfork(),clone()時,通過一個系統呼叫表對映到sys_fork(),sys_vfork(),sys_clone(),再在這三個函式中去呼叫d

spring4+ThreadPoolTaskExecutor建立執行緒 兩種方式傳送郵件

百度雲程式碼下載地址包含測試用例 :點選後跳轉 ThreadService package com.konglingfu.service; public interface ThreadService extends Runnable{ public void se