调用IE的收藏夹

从菜鸟到大神:VSCode助力HTML开发全攻略 本文全面介绍 VSCode 在 HTML 开发中的高效应用。先引导读者完成 VSCode 的安装与个性化设置,助其快速适应开发环境;接着推荐 Live Server、Prettier 等实用插件,实现实时预览、代码格式化等功能,提升开发效率。通过详细的开发实战步骤,从新建文件到添加样式,带领读者掌握 HTML 基础结构与常用标签使用。还分享代码片段管理、多人协作等进阶技巧,解决常见开发问题。旨在帮助开发者利用 VSCode,轻松高效完成 HTML 开发,打造优质网页。 阅读详情

调用IE的收藏夹(系统需要IE4以上版本)

 

Internet Explorer 库--shdocvw.dll包含了许多可以操纵IE收藏夹的API。其中的两个API是调用IE的“添加到收藏夹”和“整理收藏夹”对话框。下面的示例程序就是如何使用这两个对话框

。

“添加到收藏夹”的Dialog很像Windows的通用对话框中的SaveAs Dialog,它自身没有任何机能(不能创建或保存一个文件)。然而他却提供了一种机制,当用户创建并保存一个

internet的快捷方式时,可以让开发人员能够得到需要的“收藏夹”中的信息。因为它会接受到一个pidl参数,当调用SHGetSpecialFolderLocation函数时指定了CSIDL_FAVORITES,

就会返回用户“收藏夹”的pidl描述。再把它用作API中的一个成员,我们想要的“添加到收藏夹”对话框就会出现了。

“整理收藏夹”对话框可以提供我们创建创建文件夹、重命名文件夹和删除文件夹等功能。

代码:
新建标准EXE工程,加入3个Button(Command1-Command3),3个Text文本框(Text1-Text3)............

Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'40Star收藏并翻译
'联系地址:40Star@163.com
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Const MAX_PATH As Long = 260
Private Const ERROR_SUCCESS As Long = 0
Private Const S_OK As Long = 0
Private Const S_FALSE As Long = 1
Private Const SHGFP_TYPE_CURRENT As Long = &H0
Private Const SHGFP_TYPE_DEFAULT As Long = &H1
Const CSIDL_FAVORITES As Long = &H6

Private Declare Function DoAddToFavDlg Lib "shdocvw" _
  (ByVal hWnd As Long, _
   ByVal szPath As String, _
   ByVal nSizeOfPath As Long, _
   ByVal szTitle As String, _
   ByVal nSizeOfTitle As Long, _
   ByVal pidl As Long) As Long
  
Private Declare Function DoOrganizeFavDlg Lib "shdocvw" _
  (ByVal hWnd As Long, _
   ByVal lpszRootFolder As String) As Long

Private Declare Function SHGetFolderPath Lib "shfolder" _
   Alias "SHGetFolderPathA" _
  (ByVal hwndOwner As Long, _
   ByVal nFolder As Long, _
   ByVal hToken As Long, _
   ByVal dwReserved As Long, _
   ByVal lpszPath As String) As Long

Private Declare Function SHGetSpecialFolderLocation Lib "shell32" _
  (ByVal hwndOwner As Long, _
   ByVal nFolder As Long, _
   pidl As Long) As Long
  
Private Declare Function WritePrivateProfileString Lib "kernel32" _
   Alias "WritePrivateProfileStringA" _
  (ByVal lpSectionName As String, _
   ByVal lpKeyName As Any, _
   ByVal lpString As Any, _
   ByVal lpFileName As String) As Long
  
Private Declare Sub CoTaskMemFree Lib "ole32" _
   (ByVal pv As Long)

 

Private Sub Form_Load()

   Text1.Text = "youkuaiyun.com--中国最大的开发者网络,为开发人员和相关企业提供全面的信息服务和技术服务"
   Text2.Text = "http://www.youkuaiyun.com/"
   Text3.Text = ""
  
End Sub

Private Sub Command1_Click()
'调用“整理收藏夹”对话框
  Dim lpszRootFolder As String
  Dim success As Long
 
   lpszRootFolder = GetFolderPath(CSIDL_FAVORITES)
   success = DoOrganizeFavDlg(hWnd, lpszRootFolder)
  
End Sub


Private Sub Command2_Click()
'调用“添加到收藏夹”对话框
   Dim szTitle As String
   Dim sURL As String
   Dim sResult As String

  '指定添加到收藏夹后的快捷方式的名称
   szTitle = Text1.Text
  
  '指定添加到收藏夹后的快捷方式的URL
   sURL = Text2.Text
  
  '调用MakeFavouriteEntry函数,打开对话框
   sResult = MakeFavouriteEntry(szTitle, sURL)
  
   Text1.Text = szTitle
   Text2.Text = sURL
   Text3.Text = sResult

End Sub


Private Sub Command3_Click()

   Unload Me
  
End Sub


Private Function MakeFavouriteEntry(szTitle As String,sURL As String) As String

  '变量定义
   Dim success As Long
   Dim pos As Long
   Dim nSizeOfPath As Long
   Dim nSizeOfTitle As Long
   Dim pidl As Long
   Dim szPath As String
 
  '追加chr$(0)字符
   szTitle = szTitle & Chr$(0)
   nSizeOfTitle = Len(szTitle)
  
  '返回路径的字符串
   szPath = Space$(MAX_PATH) & Chr$(0)
   nSizeOfPath = Len(szPath)
  
  '得到用户“收藏夹”路径的PIDL (pointer to item identifier list)
  '成功后返回值为ERROR_SUCCESS
   If SHGetSpecialFolderLocation(hWnd, _
                                 CSIDL_FAVORITES, _
                                 pidl) = ERROR_SUCCESS Then
       
     '调用“添加到收藏夹”对话框
     'hwnd   =  本窗口的句柄
     'szPath =  所选择文件夹的绝对路径,包括文件名和所需的URL
     '                例如,在我的系统里就是C:/Documents and Settings/40Star/Favorites/youkuaiyun.com--中国最大的开发者网络.url
     'szTitle =   标题
     'pidl    =    PIDL 描述用户的收藏夹的信息
      success = DoAddToFavDlg(hWnd, _
                              szPath, nSizeOfPath, _
                              szTitle, nSizeOfTitle, _
                              pidl)

     '如果路径有效并指定了标题,而且用户选择了“确定”,success 返回 1
      If success = 1 Then
     
        '删除最后的Chr$(0)
         pos = InStr(szPath, Chr$(0))
         szPath = Left(szPath, pos - 1)
        
         pos = InStr(szTitle, Chr$(0))
         szTitle = Left(szTitle, pos - 1)
     
        '在Text中显示结果
         Text1.Text = szPath
         Text2.Text = szTitle
     
         Call ProfileSaveItem("InternetShortcut", "URL", sURL, szPath)
        
        '返回创建成功的路径
         MakeFavouriteEntry = szPath
     
      End If
     
     '清空PIDL
      Call CoTaskMemFree(pidl)

   End If

End Function


Public Sub ProfileSaveItem(lpSectionName As String, _
                           lpKeyName As String, _
                           lpValue As String, _
                           iniFile As String)

   Call WritePrivateProfileString(lpSectionName, lpKeyName, lpValue, iniFile)

End Sub


Private Function GetFolderPath(CSIDL As Long) As String

   Dim sPath As String
   Dim sTmp As String
   
   sPath = Space$(MAX_PATH)
  
   If SHGetFolderPath(Me.hWnd, _
                      CSIDL, _
                      0&, _
                      SHGFP_TYPE_CURRENT, _
                      sPath) = S_OK Then
                     
       GetFolderPath = Left$(sPath, InStr(sPath, Chr$(0)) - 1)
   End If
     
End Function

最新Anaconda3的安装配置及使用教程(详细过程) 最新Anaconda3安装使用Anaconda下载方式一:官网下载方式二:清华镜像下载(推荐)Anaconda安装 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项 Anaconda + Jupyter 基本上已经是大部分机器学习/数据分析等开发者标配的开发环境, 不多介绍,直接进去正题: Anaconda下载 方式一:官网下载 下载地址传送门: 官网首页:https://www.anaconda.com/ 官网下载页:https://www 阅读详情

相关推荐

告别Modern Standby!Win10/11强制S3睡眠的终极指南(含BIOS设置避坑)

本文是针对Windows 10/11用户因Modern Standby(S0低电量待机)导致睡眠耗电、发热问题的终极解决方案。文章详细对比了Modern Standby与传统S3睡眠(Suspend to RAM)的本质区别,并提供了从系统诊断、注册表修改、BIOS/UEFI设置避坑到驱动优化的完整步骤,旨在帮助用户强制启用稳定、省电的S3睡眠模式,彻底告别睡眠噩梦。

n7o8p的博客 801

mysql数据库面试题带答案(三)

选择题 【单选题】 SQL中,“AGE IN(20,22)”的语义是( D )。 A: AGE<=22 AND AGE >=20 B: AGE <22 AND AGE >20 C: AGE =20 AND AGE =22 D: AGE =20 OR AGE =22 【单选题】 在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A )。 A: 包括20岁和30岁 B: 不包括20岁和30岁 C: 包括20岁,不包括30岁 D: 不包括20岁,包括

yang_yang_heng的博客 1万+

跟着Synopsys报告,一步步拆解车规芯片FMEDA计算(含公式与避坑点)

本文详细解析了车规芯片FMEDA计算的全流程,基于Synopsys报告拆解实战指南,涵盖基础失效率建模、安全机制效能评估及安全指标合成等关键步骤。通过公式解析、数据准备清单和避坑点分享,帮助工程师掌握ISO26262标准下的硬件量化分析技术,提升车载系统设计可靠性。

weixin_30460489的博客 195

CRC-CCITT CRC-16

const uint16_t Table[256] = { 0x0000U, 0x1021U, 0x2042U, 0x3063U, 0x4084U, 0x50A5U, 0x60C6U, 0x70E7U, 0x8108U, 0x9129U, 0xA14AU, 0xB16BU, 0xC18CU, 0xD1ADU, 0xE1CEU, 0xF1EFU, 0x1231U, 0x0210U,...

超哥的专栏 2万+

嵌入式统一消息机制:模块解耦与零拷贝通信设计

在嵌入式系统开发中,模块间通信(IMC)是影响可维护性与实时性的关键环节。传统IPC方式如全局变量、信号量或Socket易导致高耦合、调试困难及跨平台适配成本高。统一消息机制通过逻辑地址抽象、标签/实体分离、路由表驱动等原理,实现控制流与数据流解耦,在裸机、RTOS及Linux用户态保持一致接口。其技术价值在于降低模块依赖复杂度、支持动态增删与分布式迁移,并通过零拷贝优化显著减少CPU与内存开销。典型应用场景涵盖工业网关、城域交换机、多核ARM边缘设备等资源受限环境,尤其适用于需长期稳定运行、快速迭代与混合

weixin_35257663的博客 264

kmeans聚类分析结果怎么看_【Stata与机器学习】物以类聚-KMeans算法应用案例介绍...

古语有云:物以类聚,人以群分。KMeans是无监督机器学习中的聚类算法中最简单的一种——基于特征对样本进行归为不同的类,很好地阐述了‘物以类聚’这句话的精髓。机器学习又叫统计学习。既然都统计了,所以当然包括了计量经济学。所以一般来说,机器学习的算法类型远多于计量经济学。比如线性回归,这个算是机器学习算法中比较基础的部分。当然,计量经济学在回归分析、因果推断方面的造诣,也是普通机器学算法所不能比的。...

weixin_39857480的博客 1万+

java基础入门 选择题总结复习

第一章  1、 Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的? (0分) A、Inner in = new Inner()B、Inner in = new Outer.Inner();C、Outer.Inner in = new Outer.Inner();D、Outer.Inner

yutong5818的博客 3万+

太空安全卫士:基于YOLOv5的空间态势感知系统(实现轨道碰撞预警与太空环境保护)

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护宇宙安全”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了航天监测的哪些痛点、YOLOv5在太空目标检测中的性能优势、系统未来能怎么优化(比如对接航天监测网络、实现实时轨道预测)。未来,这个系统还能往“更智能”的方向发展:比如结合轨道计算预测碰撞风险、开发移动端APP让天文爱好者参与太空垃圾上报、在航天任务中实现全自动避障决策……想象空间很大。

m0_71589036的博客 90

C语言练习1——求5行5列矩阵的主、副对角线上元素之和

今天是疯狂学习C语言的一天~ 原题:功能:编写函数int fun(int a[N][N]),求5行5列矩阵的主、副对角线上元素之和。注意,两条对角线相交的元素只加一次。 算法一: #include "stdio.h" #define N 3 int fun(int a[N][N]) { int i,j,s=0; for(i=0;i<N;i++) for(j=0;j<N;j++...

笔记的博客 3万+

ETAS工具导入Com Arxml修改步骤

通讯协议栈开发一般通过导入DBC实现,ETAS工具本身导入DBC也是生成arxml后执行cfggen,本文介绍直接导入客户提供的arxml文件,实现通讯协议栈的生成。通过Arxml导入相比于DBC来说,少了从DBC转为arxml的过程。而且arxml中能提供的信息也会更多。如果是DBC的话,很多信息(如PNC的映射,CANTP的配置等)都需要额外配置。不过还有连DBC都无法提供的,那就更麻烦了~

赞的博客 1541

把机器学习“搬进”数据库:SAP HANA PAL 快速上手与 ABAP AMDP 实战

摘要:本文探讨了SAP HANA PAL(Predictive Analysis Library)在企业数据分析中的实践应用。PAL通过将机器学习算法下推到数据库内部执行,有效解决了大数据量场景下的数据搬运瓶颈和治理成本问题。文章详细介绍了PAL的核心功能(包括聚类、分类、回归等10类算法)、使用前提(版本、组件和权限要求)以及通过AMDP实现ABAP与PAL集成的技术方案。重点阐述了参数表设计理念和两个典型应用场景:利用PageRank算法分析企业权限网络关系,以及通过PAL_SCALE进行特征预处理。文

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5738

HashMap中hash(Object key)原理,为什么(hashcode >>> 16)。

大家都知道(jdk1.8)HashMap中计算数组下标是HashMap的核心算法。小编今天在看HashMap源码中看到了hash(Object key)方法百思不得其解。小编问百度,查找相关博客,甚至连HashMap的关于hash(Object key)英文解释都看了。但是都只是说了为了尽量均匀,没有详细讲。小编今天为大家详细讲解一下这两个问题。 HashMap中hash(Object key)...

qq_42034205的博客 3万+

上位机图像处理和嵌入式模块部署(qmacvisual获取边界点)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在图像处理中,解决了分割的问题之后,下面就是属性信息的提取。在这其中,有一种属性是非常重要的 ,那就是外界轮廓的边界点获取。这个边界点,可以用来计算长度,也可以用来进行直线、圆的拟合,具体的用途取决于现场的实际使用场景。目前qmacvisual支持对边界点的提取,相关控件可以直接用来提取边界点。

嵌入式-老费,一个分享专业嵌入式知识的blog 883

winform 调用ie的收藏夹功能

在cs中引用: using   SHDocVw;   代码: ShellUIHelper   helper   =   new   ShellUIHelper(); object   t   =   webBrowser1.Document.Title;//我

安静是明白 674

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LUA调用 Dll 添加收藏夹操作!!!IE Chrome

// AddFavorate.cpp : Defines the exported functions for the DLL application. // #include "stdafx.h" #include "atlbase.h" #include <iostream> #include <fstream> #include <strin...

weixin_34310785的博客 121

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jsp页面调用IE浏览器添加至收藏夹快捷键

String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>       ">          My JSP 'store.jsp'

fenfenguai的专栏 879

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Internet Explorer 编程简述(三)“整理收藏夹”对话框

关于Internet Explorer的收藏夹,比较常见的两个问题就是调用“整理收藏夹”对话框和“添加到收藏夹”对话框。调用的方法有多种,但其中还是有些值得讨论的地方。 关键字:添加到收藏夹,整理收藏夹,DoAddToFavDlg, DoOrganizeFavDlg  1、整理收藏夹 调用“整理收藏夹”对话框(如下),基本上来说都用的是同一个方法,即调用“shdocvw

eagleboost's blog 8696

本页面添加至收藏夹

经常在网站页面上需要把本页面添加至收藏夹 <script type="text/javascript">function addMe() {var url = document.location.href;var wTitle = document.title;if (document.all) {window.external.addFavorite(url, wTitl...

weixin_30478757的博客 179

添加到收藏夹的Javascript脚本-适合IE和Firefox

代码 <scripttype="text/javascript">functionaddBookmark(title,url){if(window.sidebar){window.sidebar.addPanel(title,url,"");}elseif(document.all){window.exte...

weixin_30907523的博客 137

JS(javascript) 将网站加入收藏夹

  | 浏览:688 | 更新:2014-09-20 19:39 1 2 3 分步阅读 将网站网址加入收藏夹,方便下次访问! 工具/原料 网址; 电脑。 方法/步骤   //创建加入收藏夹JS函数 &lt;script ...

weixin_34413357的博客 386

兼容FF/IE的添加收藏夹的代码

偶然在一个国外的站上看到的,收藏了:脚本代码如下:script type="text/javascript">function addbookmark(){    var nome_sito = "napyfab.com";    var url_sito = "http://www.napyfab.com";    if ((navigator.appName == "Microsoft I

johncools的博客 1145

js 加入收藏夹

function addfavorite() {    if (document.all)    {       window.external.addFavorite('http://www.baidu.com','收藏夹');    }    else if (window.sidebar)    {       window.sidebar.addPanel('百度一下',

Astpiy的专栏 668

JS加入收藏夹

JS加入收藏夹代码,好就好在它具有全兼容性,兼容IE6、IE7、IE8及流行的火狐浏览器,这大大增强了本代码的实用性。 JS加入收藏夹 function addfavorite() {    if (document.all)    {       window.external.addFavorite('http://www.baidu.com','收藏夹

十三狼的专栏 1001
上一篇: 在托盘上显示Balloon Tooltip
下一篇: 界面开发之Flat3DButton
40Star
博客等级 码龄25年 1粉丝 32原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值