Example #1
0
 /// <summary>
 /// Releases internally used COM objects (IShellLink, IPersistFile).
 /// </summary>
 public void Dispose()
 {
     if (_isl != null)
     {
         Api.ReleaseComObject(_ipf); _ipf = null;
         Api.ReleaseComObject(_isl); _isl = null;
     }
 }
Example #2
0
        //This could be public, but then need to make IShellLink public. It is defined in a non-standard way. Never mind, it is not important.

        shortcutFile(string lnkPath, uint mode)
        {
            _isl     = new Api.ShellLink() as Api.IShellLink;
            _ipf     = _isl as Api.IPersistFile;
            _lnkPath = pathname.normalize(lnkPath);
            if (mode != Api.STGM_WRITE && (mode == Api.STGM_READ || filesystem.exists(_lnkPath).File))
            {
                AuException.ThrowIfHresultNot0(_ipf.Load(_lnkPath, mode), "*open");
                _isOpen = true;
            }
        }
Example #3
0
        //This could be public, but then need to make IShellLink public. It is defined in a non-standard way. Never mind, it is not important.

        AShortcutFile(string lnkPath, uint mode)
        {
            _isl     = new Api.ShellLink() as Api.IShellLink;
            _ipf     = _isl as Api.IPersistFile;
            _lnkPath = lnkPath;
            if (mode != Api.STGM_WRITE && (mode == Api.STGM_READ || AFile.ExistsAsFile(_lnkPath)))
            {
                AuException.ThrowIfHresultNot0(_ipf.Load(_lnkPath, mode), "*open");
                _isOpen = true;
            }
        }