perl

use strict;
use Win32::OLE;
use Data::Dumper;

my $wshell = Win32::OLE->new('Shell.Application') or die "oops\n";
my $HISTORY_FOLDER = 0x22;
my $history_dir = $wshell->Namespace($HISTORY_FOLDER);
my $url_list = scan_folder($history_dir, []);
print Dumper $url_list;
sub scan_folder{
    my ($folder, $ref) = @_;
    my $items = $folder->items;
    for(my $i = 0;$i < $items->count; $i++){
        my $item = $items->item($i);
        if($item->IsFolder){
            scan_folder($item->GetFolder, $ref);
        } else {
            my $url   = $folder->GetDetailsOf($item,0);
            my $title = $folder->GetDetailsOf($item,1);
            push @{$ref}, [$url, $title];
        }
    }
    return $ref;
}
exit;

html

<div style="font-size:12px"><script type="text/javascript"><!--
var showTitle=0;var showExplain=0;
//-->
</script>
<script type="text/javascript" src="http://phpspot.org/wst/webshot.php?m=jscript&c=u"></script>
<a href="http://phpspot.org/wst/webshot.php?m=alls" style="font-size:10px">Webデザイナーのためのリンク集</a>
<br />
<br />
<div style="line-height:140%;font-family:MS UI Gothic,Osaka;font-size:12px"><a href="http://rd.phpspot.org/?phpspot" style="font-size:10px">PHPスクリプト by phpspot</a></div>
</div>
<br />
<br />

c

#include <stdio.h>
#include <string.h>

#define BUFSIZE 1000

void main(void)
{
  char* egets(char* buf, int size);
  int end_check(char* str);
  int cal_center(char command, double op1, double op2, double* anser);

  char input_buf[BUFSIZE];
  char* buf;
  char command[] = "\0";
  double op1, op2;
  int n;

  printf("\n\tcommand:\n\t  -binary operator '+', '-', '*', '/', '%%'\n\t  -           exit 'q', 'e'\n\n");
  for(;;)
  {
    if(cal_center(command[0], op1, op2, &op1))
    {
      printf(" > %.0f ", op1);
      if(op1 == 0)
        printf("\n > ");
    }
    else
    {
      op1 = ( double )0;
      printf(" > ");
    }
    command[0] = '\0';
    op2 = ( double )0;
    n = 0;
    if(end_check(buf = egets(input_buf, BUFSIZE)))
      break;
    if(op1 == 0)
      sscanf(buf, "%lf%n", &op1, &n);
    sscanf(buf += n, "%1s%n", command, &n);
    sscanf(buf += n, "%lf", &op2);
  }
}

char* egets(char* buf, int size)
{
  int i, len;

  for(i = 0; i < size; i++)
    buf[i] = '\0';
  fgets(buf, size, stdin);
  len = strlen(buf);
  if(buf[len-1] == '\n')
    buf[len-1] = '\0';
  return( buf );
}

int end_check(char* str)
{
  int i;

  for(i = 0; str[i] != '\0'; i++)
    if(str[i] == 'e' || str[i] == 'E' || str[i] == 'q' || str[i] == 'Q')
      return( 1 );
  return( 0 );
}

int cal_center(char command, double op1, double op2, double* anser)
{
  int sign = 1;

  switch(command)
  {
    case '+':
      *anser = op1 + op2;
      break;
    case '-':
      *anser = op1 - op2;
      break;
    case '*':
      *anser = op1 * op2;
      break;
    case '%':
      *anser = ( signed long int )op1 % ( signed long int )op2;
      break;
    case '/':
      if(op2 != 0)
        *anser = ( signed long int )(op1 / op2);
      else
      {
        printf(" error : zero divisor\n");
        sign = 0;
      }
      break;
    case '\0':
      sign = 0;
      break;
    default:
      printf(" error : unknown command \"%c\"\n", command );
      sign = 0;
      break;
  }
  return( sign );
}

command:
-binary operator '+', '-', '*', '/', '%'
- exit 'q', 'e'
> 10+2
> 12 *4
> 48 *-9
> -432 -3
> -435 /5
> -87 %8
> -7 /-1
> 7 -7
> 0
> 2+-3
> -1

css

body {
  width: 97%;
  word-wrap: break-word;
  word-break: break-all;
  text-align: left;
  color: black;
  background-color: white;
  margin: 0 0 20px 0;
}

p, div {
  padding: 0;
  margin: 0;
}
p {
  margin-top: 1em;
  margin-bottom: 1em;
}

a {
  text-decoration: underline;
  padding-left: 4px;
  padding-right: 4px;
}
a:link {
  color: #006;
}
a:visited {
  color: #200;
}
a:hover {
  color: #036;
  background-color: #eee;
}
a:active {
  color: #036;
  background-color: #ccc;
}
p.posted a, p.posted a:link, p.posted a:visited, p.posted a:hover, p.posted a:active {
  text-decoration: none;
}

h1 {
  padding-top: 50px;
  margin-top: 10px;
}
h2 {
  font-weight: normal;
  padding: 0;
  margin: 0;
}
h1 a, h2 a {
  text-decoration: none;
  color: black;
}
h3 {
  font-weight: bold;
  padding: .4em 0 .4em .2em;
  margin: 4em 0 0 .1em;
  border-left: .4em solid #bbb;
}

#container {
  text-align: left;
  line-height: 140%;
  padding: 0 0 20px 0;
}

#banner {
  text-align: left;
  font-family: Georgia, Times, serif;
  color: #333;
  padding: 5px 15px 15px 15px;
  /* margin-bottom: 10px; */
  margin-left: 216px;
}
#banner h1 {
  font-size: 240%;
}
#banner h2 {
  font-family: Meiryo, verdana, arial, helvetica, sans-serif;
  font-size: 80%; 
  padding: 4px;
  margin: 0;
}

#center {
  margin-left: 240px;
  overflow: visible;
}
.content {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 85%;
  color: #333;
  padding: 15px 15px 5px 15px;
}

#right {
  position: absolute;
  left: 8px;
  top: 16px;
  width: 220px;
  overflow: visible;
}

.content p {
  text-align: left;
  line-height: 200%;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: normal;
  color: #333;
  margin-left: .1em;
}

.content blockquote {
  line-height: 180%;
  padding: .5em 1em;
  border: 1px solid #aaa;
  /* font-style: italic; */
}
.content blockquote p {
  margin-top: 2em;
}
cite {
  font-style: italic;
}

.content li {
  line-height: 160%;
  margin-top: 3px;
  margin-bottom: 3px;
}

.content h2 {
  text-align: left;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 140%;
  color: #333;
  padding: 30px 3px 3px 3px;
  margin-bottom: 10px;
  border-bottom: 1px solid #444444;
}

.content h3 {
  text-align: left;
  font-family: sans-serif, Georgia, 'Times New Roman', serif;
  font-size: 130%;
  color: #666;
  margin-top: 20px;
  margin-bottom: 10px;
}

.content p.posted {
  text-align: left;
  line-height: 100%;
  font-family: Meiryo, Verdana, Arial, sans-serif;
  font-size: 10px;
  color: black;
  padding-bottom: .3em;
  padding-left: 1em;
  margin-top: 2em;
  margin-bottom: 4em;
  border-bottom: 1px dashed #999999;
}

.sidebar {
  padding: 10px;
}

#calendar {
  text-align: center;
  line-height: 140%;
  font-family: Meiryo, Verdana, Arial, sans-serif;
  font-size: 10px;
  color: #333;
  padding: 2px;
  margin-top: 10px;
  margin-bottom: 10px;
}

#calendar table {
  width: 100%;
  padding: 2px;
  border: 0;
  border-collapse: collapse;
}

#calendar caption {
  letter-spacing: .3em;
  text-align: left;
  text-transform: uppercase;
  line-height: 140%;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  color: #360;
}

#calendar th {
  text-align: center;
  font-weight: normal;
}

#calendar td {
  text-align: center;
}

.sidebar h2 {
  letter-spacing: .3em;
  text-align: left;
  text-transform: uppercase;
  line-height: 140%;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 16px;
  color: #360;
  margin-top: 30px;
  margin-bottom: 10px;
}

.sidebar ul {
  padding-left: 0;
  margin: 0;
  margin-bottom: 30px;
}

.sidebar li {
  list-style-type: none;
  text-align: left;
  line-height: 160%;
  font-family: Meiryo, Verdana, Arial, sans-serif;
  font-size: 12px;
  color: #333;
  margin-top: 10px;
}

.sidebar #recent-entries li {
  list-style-type: none;
  text-align: left;
  line-height: 117%;
  font-family: Meiryo, Verdana, Arial, sans-serif;
  font-size: 12px;
  color: #333;
  margin-top: 10px;
}

.sidebar img {
  z-index: -1;
  border: 1px solid #333333;
}

.link-note {
  text-align: left;
  line-height: 150%;
  font-family: Meiryo, Verdana, Arial, sans-serif;
  font-size: 12px;
  padding: 2px;
  margin-bottom: 15px;
}

#powered {
  text-align: left;
  font-family: Meiryo, Verdana, Arial, sans-serif;
  font-size: 12px;
  color: #333;
  margin-bottom: 50px;
}

#comment-data {
  float: left;
  width: 180px;
  text-align: left;
  padding-right: 15px;
  margin-right: 15px;
  border-right: 1px dotted #bbbbbb;
}

textarea[id="comment-text"] {
  width: 80%;
}

img {
  vertical-align: middle;
}

#photo {
  padding-left: 20px;
}

div.entry-body img {
  padding: .3em 1em;
}

small {
  font-size: 65%;
}

div.ascii-art {
  font-size: 12pt;
  line-height: 18px;
  font-family: "Mona", "IPA MONAPGOTHIC", "MS Pゴシック", sans-serif;
}

pre {
  background-color: #eee;
  padding: .5em .5em .5em 1em;
  margin: 1em 2em 1em 1em;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #888888;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #888888;
}

.syntax-highlight, .script {
  font-family: monospace;
  background-color: #f0f8ff;
  padding: .5em .5em .5em 1em;
  margin: 1em 2em 1em 1em;
  border-top: 1px solid #ddddee;
  border-bottom: 1px solid #888899;
  border-left: 1px solid #ddddee;
  border-right: 1px solid #888899;
}

.synSpecial {
  color: #c000c0;
}
.synType {
  color: #008000;
}
.synComment {
  color: #0000c0;
}
.synPreProc {
  color: #c000c0;
}
.synIdentifier {
  color: #008080;
}
.synConstant {
  color: #c00000;
}
.synStatement {
  color: #804000;
}

.content blockquote p.blockquotesource {
  font-style: italic;
  line-height: 120%;
  padding: 0;
  margin: 1.4em 0 .4em;
}

javascript

function extractBlockquoteCitations(){
  var quotes=document.getElementsByTagName('blockquote');
  for(var i=0;i<quotes.length;i++){
    var cite=quotes[i].getAttribute('cite');
    var title=quotes[i].getAttribute('title');
    if(cite||title){
      var a=document.createElement('a');
      a.setAttribute('href',cite);
      if(! title){title='# '+cite;}
      a.setAttribute('title',title);
      a.appendChild(document.createTextNode(title));
      var p=document.createElement('p');
      p.className='blockquotesource';
      p.appendChild(a);
      quotes[i].appendChild(p);
    }
  }
}

function addEvent(obj,evType,fn){
  if(obj.addEventListener){
    obj.addEventListener(evType,fn,true);
    return true;
  }else if(obj.attachEvent){
    var r=obj.attachEvent('on'+evType,fn);
    return r;
  }else{
    return false;
  }
}

addEvent(window,'load',extractBlockquoteCitations);

引用はこうやる。らしい

  • シンプル
>>
引用
<<

引用

  • cite付き
><blockquote cite="http://www.microsoft.com/japan/msdn/windowsvista/security/" title="Windows Vista デベロッパー センター - セキュリティ "><
危険なソフトウェアは、通常、ユーザーがコンピューターを使用しているのと同じ権限レベルで動作しますが、ほとんどのユーザーは、既定の権限よりも高い権限を使用しています。つまり、危険なソフトウェアは、往々にして、管理者権限を使用して動作していることになります。すべての操作を、必要な最小の権限を使用して行うことが、Windows Vista で重視されている点です。
></blockquote><

危険なソフトウェアは、通常、ユーザーがコンピューターを使用しているのと同じ権限レベルで動作しますが、ほとんどのユーザーは、既定の権限よりも高い権限を使用しています。つまり、危険なソフトウェアは、往々にして、管理者権限を使用して動作していることになります。すべての操作を、必要な最小の権限を使用して行うことが、Windows Vista で重視されている点です。


・・・ツールバーを使用する気は全くございません。

Code Search

Google Code Search
http://www.google.com/codesearch
gonzuiソースコード検索エンジン
http://gonzui.sourceforge.net/
Koders - Source Code Search Engine
http://koders.com/
Krugle
http://www.krugle.com/
The CPAN Search Site - search.cpan.org
http://search.cpan.org/
perl日本語ドキュメント全文検索
http://www.cpan.jp/search.cgi